【问题标题】:is that ok to have @Autowire or @Inject in @Configuration class在@Configuration 类中有@Autowire 或@Inject 可以吗
【发布时间】:2019-08-09 03:13:40
【问题描述】:

春季 5,Java 8 我有多个配置文件,其中一个配置文件具有@Autowire 依赖项。它不会抱怨运行时间并且工作正常,但 intellij 警告找不到这些 bean。

想知道在配置类中有@Autowire@Inject 是否可以。

为什么我拥有它是 b/c,它是我的 websocket 配置,而我的处理程序需要依赖项。

【问题讨论】:

标签: spring spring-mvc-test


【解决方案1】:

没关系。

@Configuration 表示一个类声明了@Beans,这可能需要依赖。 @Configuration 本身带有 @Component 元注释,并且“因此也可以像任何常规 @Component 一样利用 @Autowired/@Inject”。

我建议您将依赖项作为方法参数传递,而不是将它们注入到字段中。它使配置类保持清晰,并强调每个@Bean 方法所需的依赖关系。

我更喜欢

class C {
    @Bean
    public A a(B b) { new A(b); }
}

class C {
    private final B b;        

    @Bean
    public A a() { new A(b); }
}

【讨论】:

    猜你喜欢
    • 2013-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多