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();
}
}