##问题描述
如题:SpringSecurity 自动注入dao出现 NPE,经过大量查找资料后意识到问题的原因为SpringSecurity是基于filter,而filter的初始化在自动bean初始化之前,所以自动注入出现NPE,暂未找到解决的方案因此求助各位大佬
##相关代码
实现自定义用户认证的代码:
@Service
public class UserDetailServiceImp implements UserDetailsService {
@Autowired
UserDao userDao;//此处为问题根本,注入的dao为null
@Override
public UserDetails loadUserByUsername(String un) throws UsernameNotFoundException {
//当将此处换位 User user = new user();NPE解决
//由此可知,问题根本为没有注入的UserDao,但是
//《Spring 实战第五版》的代码案例注入没有问题
//是否为Mybaits的问题?(书中使用JPA)
User user = userDao.getByUsername(un);
if(user != null){
return user;
}
throw new UsernameNotFoundException("用户:"+user.getUn()+"不存在");
}
}
##问题:如何在SpringSecurity的filter中注入对象
问题参考资料: