Spring只能注册构造函数bean



如果我们假设我有一个类A(@Component)和一个类B(@Component)。类A需要一个B的实例。如果我用@Autowired将类B作为字段放在a中,即使Spring会找到B组件(通过@ComponentScan),类A字段也将为null。但是,如果我将B作为参数放在A的构造函数中,并用@Autowired注释构造函数,它将完美地工作。

有没有办法将BA的构造函数中排除?

正如@LuiggMendoza所提到的:创建@PostConstruct方法很容易:你只应该用@PostConstruct:来注释你的方法

public class A {
    @PostConstruct
    void init(){
        //do smth here
    }
}

或者,如果您使用XML配置,您可以将init-method参数添加到您的bean定义中。

相关内容

最新更新