关于SpringSecurity3.1中实现UserDetailsService所遇到的问题
最近将Spring3.1.1和SpringSecurity3.1.0+Hibernate4进行整合,在实现自定义UserDetailsService时,遇到无法注入其他bean的问题,不知道有没有朋友遇到过,希望得到帮助,先谢谢了!
@Repository("myUserDetailService")
@Transactional(readOnly = true)
public class MyUserDetailService implements UserDetailsService {
@Autowired
private UserDAO userDAO;
@Override
public UserDetails loadUserByUsername(String userName)
throws Username
NotFoundException {
System.out.println("登录名[" + userName + "]");
System.out.println("userDAO=" + userDAO);
boolean enables = true;
boolean accountNonExpired = true;
boolean credentialsNonExpired = true;
boolean accountNonLocked = true;
Collection<GrantedAuthority> auths = new ArrayList<GrantedAuthority>();
User userdetail = new User(userName, "12345", enables,
accountNonExpired, credentialsNonExpired, accountNonLocked,
auths);
return userdetail;
}
}
打印出来的userDAO一直都为null;
而我在另外一个Service中也是这样写的,却没有任何问题。
希望得到有SpringSecurity使用经验朋友的帮助。
------解决方案--------------------
你的userdao,有问题没有?
userdao加了注解没?
如果是userdao 是接口,最好用@Resource注入