Spring 依赖注入如何在带注释@Component但没有构造函数注释的类中工作



我的代码正在工作,但我无法弄清楚从哪里获得依赖注入。由于 Spring 文档没有提到默认依赖注入。

package org.stackoverflow; 

@Component 
public class A {
    private final B b;
    public A(B b) {
      this.b = b;
    }
}
package org.segfault; 

@Configuration
Public class Config {
   @Bean 
   public B b(){ return new B(); }
}

如上代码所示,组件扫描在路径com.stackoverflow和导入的org.segfault类配置上运行。但正如你所看到的,在类 A 中没有构造函数注入。

我怀疑它必须记录在某个地方。但我无法找到。无论如何,它正在工作:)

有人可以帮忙提供文档或我缺少什么吗?

The Spring 文档,第 17 章。春豆和依赖注入 说:

如果一个 Bean 有一个构造函数,则可以省略@Autowired

自 Spring 4.3.* 以来,不再需要在构造函数上方指定@Autowire注释,前提是该类有一个非私有构造函数。

6.1 核心容器改进(新闻(
如果目标 Bean 只定义了一个构造函数,则不再需要指定@Autowired注释。

相关内容

最新更新