我正在使用 BCryptPasswordEncoder 来编码我的密码,但是当我使用它的编码函数在 UserService 类的保存函数中对密码进行编码时,它给了我这个错误:
创建名称为“userController”的 bean 时出错:通过字段“userServiceInter”表达的依赖关系不满足;嵌套异常是 org.springframework.beans.factory.UnsatisfiedDependencyException:创建名称为“userService”的 bean 时出错:通过字段“crypt”表达的依赖关系不满足;嵌套异常是 org.springframework.beans.factory.NoSuchBeanDefinitionException:没有类型为“org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder”的合格 bean 可用:预计至少有 1 个有资格作为自动装配候选者的 bean。依赖注释:{@org.springframework.beans.factory.annotation.Autowired(required=true)}
当我删除它时,它可以工作,但密码未编码。
用户服务类:
@Service
public class UserService implements UserServiceInterface{
@Autowired
UserRepository repo;
@Autowired
BCryptPasswordEncoder crypt;
@Autowired
RoleRepository roleRepo;
public void save(User user) {
user.setPassword(crypt.encode(user.getPassword()));
Role role = roleRepo.findByRole("USER");
user.setRoles(new HashSet<Role>(Arrays.asList(role)));
repo.save(user);
}
@Override
public User findByUsername(String userName) {
User user = repo.findByUserName(userName);
return user;
}
}
用户服务接口:
@Service
public interface UserServiceInterface {
public void save(User user);
public User findByUsername(String userName);
}
HUH函数
一只斗牛犬
扬帆大鱼
相关分类