Darren i 2020-10-27 15:48 采纳率: 0%
浏览 77

SpringSecurity 自动注入dao出现 NPE如何解决?

##问题描述

如题: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中注入对象

问题参考资料:

  • 写回答

1条回答 默认 最新

  • 臭小子帅 2020-10-27 19:05
    关注

    我注入过mapper,是可以的

    评论

报告相同问题?