实例化JPA存储库的问题

问题描述

希望有人可以帮助我解决以下问题。我对自动装配,beans和springboot还是很陌生,因此对您的帮助将不胜感激。

问题:

  1. 我需要在其中使用JPA存储库的类不能用@ Component,@ Service等注释
  2. 我无法在构造函数中初始化它,因为我是从另一个我无法在存储库中传递的类中调用它的。

错误 尝试在FilterClass中调用addressRepository时,出现空指针错误

我想做的事: 消除空指针错误,以便我可以使用addressRepository返回可用于构建过滤器查询的值。

代码

public class FilterSpecification implements Specification<User> {

    private final UserFilter userFilter;

    @Autowired
    private AddressRepository addressRepository;

    public FilterSpecification (UserFilter userFilter) {
        this.userFilter = userFilter;
    }

    public String getAddress(UserFilter userFilter) {
         //Nullpointer is here
        String postCode = addressRepository.findByAddress(userFilter.getAddress)
    }

上述类中的构造函数是从UserService调用的,因此我无法添加addressRepository作为参数。

@Service
public class UserServiceImp implements UserService {

    @Override
    public List<User> getUsers(Filter filter) {

        return userRepositry.findAll(new FilterSpecification(filter));

    }

**编辑-添加AddressRepository **

@Repository
public interface AddressRespository extends JpaRepository<Address,String> {

    String findByAddress(String address);
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)