Java 将通用DAO注入服务(Spring4)
我正在寻找一种将通用DAO注入服务的解决方案 更具体地说,我正在寻找一种将通用用户DAO注入登录服务的方法 就我而言,它们是:Java 将通用DAO注入服务(Spring4),java,spring,generics,spring-boot,dependency-injection,Java,Spring,Generics,Spring Boot,Dependency Injection,我正在寻找一种将通用DAO注入服务的解决方案 更具体地说,我正在寻找一种将通用用户DAO注入登录服务的方法 就我而言,它们是: 从类用户继承的多种类型的用户 对于每种类型的用户,都有一个从继承的相关DAO GenericUserDao 我的第一个想法是声明我的服务并注入我的DAO,如下所示: public class LoginService<DAO extends GenericUserDao<? extends User>> { @Autowired
类用户继承的多种类型的用户
GenericUserDao
public class LoginService<DAO extends GenericUserDao<? extends User>> {
@Autowired
DAO userDao;
}
[...]
// declaration
@Autowired
LoginService<SpecialUserDao> userService;
但是最后没有注入任何东西,我在调用DAO方法时逻辑上得到一个NullPointerException
注入我的DAO的正确方法是什么?您是否尝试过
@Named
?不确定这会有什么帮助。整个想法是能够为所有用户创建一个通用的登录服务类,然后使用作为参数的特定DAO(LoginService userService)创建几个实例。
public class LoginService<DAO extends GenericUserDao<? extends User>> {
DAO userDao;
}
[...]
// declaration
@Autowired
LoginService<SpecialUserDao> userService;