gpt4 book ai didi

java - Spring 启动: @Autowired is not working for one of the class

转载 作者:行者123 更新时间:2023-12-02 02:46:53 25 4
gpt4 key购买 nike

我正在使用 Jwt token 开发 OAuth 实现。这有点奇怪,但是对于类 TokenAuthenticationService 当我尝试在不同的包中 Autowired 这个类时,我得到考虑在您的配置中定义“com.company.security.TokenAuthenticationService”类型的 bean。我做了一个解决方法,并在该类中添加了 @Bean TokenAuthenticationService
现在,当我尝试初始化 TokenAuthenticationService 类中的接口(interface)时,它给出了相同的类型该接口(interface)的错误。考虑在您的配置中定义“com.company.security.UserService”类型的 bean。

ComponentScan注释的配置类似于@ComponentScan({"com.company"})

我在这里缺少什么以及为什么?

最佳答案

您有两种方法可以在项目中定义用于 Autowiring 的 bean。

对于由您定义的类,您可以使用@Component注释(或者,对于服务类, @Service 注释)如下:

@Service
public class TokenAuthenticationService { ... }

如果您使用第三方类,您可以在配置类中配置它们:

@Configuration
public MyProjectConfig {
@Bean
public ThirdPartyClass serviceClass() { new ThirdPartyClass(); }
}

(使用@Bean注释不是一个解决方法。您只需要了解它的目的...)

这样 Autowiring 应该可以工作......

关注difference between @Component and @Bean annotations .

关于java - Spring 启动: @Autowired is not working for one of the class,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44439276/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com