Autowired变量为null

问题描述 投票:0回答:1

我正在尝试学习更多关于Spring安全性的知识,但是遇到了一个障碍,在该障碍中,我的变量之一将无法在课堂上正确进行自动装配,而在其他课堂上可以进行自动装配。这是我的课程:

接口:

@Service
public interface UserService {

    public User getUser(String login);
    public boolean createUser(String login, String password);

}

接口的实现:

@Service
public class UserServiceImpl implements UserService {

    @Autowired
    UserRepository userRepository;

    @Override
    public User getUser(String login) {
        return userRepository.findByLogin(login);
    }

    @Override
    public boolean createUser(String login, String password) {
        userRepository.save(new User(login,password));
        return false;
    }
} 

始终提供null的类:

@Service
public class UserDetailService implements UserDetailsService {

    @Autowired
    UserRepository userRepository;

    @Override
    public UserDetails loadUserByUsername(String s) throws UsernameNotFoundException {
        User user = userRepository.findByLogin(s);

        if(null == user){
            throw new UsernameNotFoundException("User not found: " + s);
        }
        return new UserPrincipal(user);
    }
}

userRepository在我运行此命令时始终为null,有什么想法吗?在这里也尝试自动装配其他bean,它们为null,但是在应用程序的其他类中工作正常,所以我假设我在上一类中做错了。

java spring security spring-security autowired
1个回答
0
投票

我们能否获得有关您的UserRepository类的更多信息?我认为spring不认为它是bean

© www.soinside.com 2019 - 2024. All rights reserved.