在@Configuration class 中添加@Autowire 或@Inject 可以吗

is that ok to have @Autowire or @Inject in @Configuration class

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

想知道是否可以在配置 class 中使用 @Autowire@Inject

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

没关系。

@Configuration 表示 class 声明了可能需要依赖项的 @Bean@Configuration 本身用 @Component 和 "therefore may also take advantage of @Autowired/@Inject like any regular @Component".

进行元注释

我建议您将依赖项作为方法参数传递,而不是将它们注入到字段中。它保持配置 class 清晰,并强调每个 @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); }
}