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将无法在运行时注入对象。添加更多详细信息,包括配置,在我的控制器中,我错误地创建了服务对象的实例,而不是自动连接。