其实从依赖注入的字面意思就可以知道,要将对象B注入到对象A,那么首先就必须得生成对象A和对象B,才能执行注入。所以,如果一个类A中有个成员变量b被@Autowried注解,那么@Autowired注入是发生在A的构造方法执行完之后的。
如果想在生成对象时完成某些初始化操作,而偏偏这些初始化操作又依赖于依赖注入,那么久无法在构造函数中实现。为此,可以使用@PostConstruct注解一个方法来完成初始化,@PostConstruct注解的方法将会在依赖注入完成后被自动调用。
Constructor >> @Autowired >> @PostConstruct
通过以上结果可以看出:被@PostConstruct注解的方法将在该类中所有注入操作完成之后执行。