Java 数据访问对象未在服务类中自动连接

Java 数据访问对象未在服务类中自动连接,java,spring,autowired,Java,Spring,Autowired,下面是我的服务层代码,但由于某种原因,我的@Repositorylogindaaccess为空 @Service public class LoginService implements BeanFactoryAware { @Autowired private LoginDataAccess loginDataAccess; public void addUserLoginDetails(LoginData loginData) { LoginDet

下面是我的服务层代码,但由于某种原因,我的
@Repository
logindaaccess
为空

@Service
public class LoginService implements BeanFactoryAware {

    @Autowired
    private LoginDataAccess loginDataAccess;

    public void addUserLoginDetails(LoginData loginData) {
        LoginDetails loginDetails = new LoginDetails();
        loginDetails.setUsername(loginData.getUsername());
        loginDetails.setPassword(loginData.getPassword());
        if(loginDataAccess == null) {
            System.out.println("loginDAtaAccess is null"); // this prints on console
        }

        loginDataAccess.insertLoginDetails(loginDetails); // throws NullPointerException
    }

    @Override
    public void setBeanFactory(BeanFactory beanFactory) throws BeansException {
        System.out.println("setting beanfactory");
        System.out.println(beanFactory.containsBean("loginDataAccess")); // this prints true 
    }

}

我猜您在某处使用java“new”关键字实例化了LoginService。如果您这样做了,那么Spring就无法知道它的存在,因此无法自动关联任何内容。为了验证这一猜测,我需要查看您使用此登录服务的位置


也许可以帮助您。

什么是
logindaaccess
-类或接口??您是否对登录数据访问进行了注释??如果您没有注释
LoginDataAccess
,则Spring将无法在运行时注入对象。添加更多详细信息,包括配置,在我的控制器中,我错误地创建了服务对象的实例,而不是自动连接。