SpringBean初始化顺序

Spring bean是Spring框架在运行时管理的对象。Spring bean是任何Spring应用程序的基本构建块。我们编写的大多数应用程序逻辑代码都将放在Spring bean中。

执行顺序:

Constructor > @Autowired > @PostConstruct > InitializingBean > init-method

因此不能在构造函数中直接使用@Autowired定义的参数,而应该在@PostConstruct中调用。

例如:

public class Metric {

    @Autowired
    MonitorMetric monitorMetric;

    final String string;

    // 构造函数
    public Metric(String string){
        this.string = string;
    }

    // 在 PostConstruct 中获取 Autowired 的值
    @PostConstruct
    public String initialize(){
        return monitorMetric.getStr();
    }
}

 
 

学习更多编程知识,请关注我的公众号:

代码的路

 
 

你可能感兴趣的:(java)