Java 如何修复SpringBoot中的“应用程序启动失败”,它要求定义一个bean
我的Spring boot应用程序运行,但显示启动失败,并显示以下内容: com.example.security.websecurity配置中的字段userDetailsService需要找不到类型为“com.example.security.UserDetailsServiceImpl”的bean 注入点具有以下注释: @org.springframework.beans.factory.annotation.Autowiredrequired=true 考虑在配置中定义“com.example.security.UserDetailsServiceImpl”类型的bean 我已经尝试在我的UserDetailsServiceImpl类中添加@Bean和@Service注释,并在pom.xml文件中添加beanutils依赖项,但仍然会发出相同的消息,即启动失败 我的UserDetailsServiceImpl类:Java 如何修复SpringBoot中的“应用程序启动失败”,它要求定义一个bean,java,spring,spring-boot,spring-security,dependency-injection,Java,Spring,Spring Boot,Spring Security,Dependency Injection,我的Spring boot应用程序运行,但显示启动失败,并显示以下内容: com.example.security.websecurity配置中的字段userDetailsService需要找不到类型为“com.example.security.UserDetailsServiceImpl”的bean 注入点具有以下注释: @org.springframework.beans.factory.annotation.Autowiredrequired=true 考虑在配置中定义“com.examp
它应该说成功运行了Spring Boot应用程序。在UserDetailsServiceImpl类上放置@Service注释。在UserDetailsServiceImpl类上放置@Service注释。BeanUtils在这种情况下对您没有帮助。无法正确注入UserDetailsService,因为它未注册为bean,只有以下注释适合这样做: @存储库、@Service、@Controller或@Component,在这种情况下我强烈推荐@Service。 注释必须放置在类级别,因为您要注入其实例。当然,类必须是接口的一个实现,接口是注入的实现
@Service // must be on the class level
public class UserDetailsServiceImpl implements UserDetailsService {
@Autowired
private UserRepository userRepo;
@Override
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
// method implementation...
}
}
除此之外,我建议您阅读以下链接:
关于依赖注入,Spring正在进行。
关于和处的组件扫描和组件类型
关于构造函数注入相对于现场一点和一点的优势
在这种情况下,小海狸帮不了你。无法正确注入UserDetailsService,因为它未注册为bean,只有以下注释适合这样做: @存储库、@Service、@Controller或@Component,在这种情况下我强烈推荐@Service。 注释必须放置在类级别,因为您要注入其实例。当然,类必须是接口的一个实现,接口是注入的实现
@Service // must be on the class level
public class UserDetailsServiceImpl implements UserDetailsService {
@Autowired
private UserRepository userRepo;
@Override
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
// method implementation...
}
}
除此之外,我建议您阅读以下链接:
关于依赖注入,Spring正在进行。
关于和处的组件扫描和组件类型
关于构造函数注入相对于现场一点和一点的优势
显示这个bean应该在哪里,我对此不太确定。如果我必须猜测的话,我必须说UserRepositoryShow这个bean应该在哪里,我对此不太确定。如果我不得不猜测,我必须说userrepository很高兴它能起作用,你是受欢迎的:请不要忘记阅读那些文章来与Spring相处融洽。很高兴它能起作用,你是受欢迎的:请不要忘记阅读那些文章来与Spring相处融洽。