定义:
@PostConstruct
是Java
自带的注解,在方法上加该注解会在项目启动的时候执行该方法,也可以理解为在spring容器初始化的时候执行该方法。
从Java EE5规范开始,Servlet
中增加了两个影响Servlet
生命周期的注解,@PostConstruct
和@PreDestroy
,这两个注解被用来修饰一个非静态的void()方法。
用法
@PostConstruct
public void someMethod(){}
或者
public @PostConstruct void someMethod(){}
作用:
@PostConstruct注解的方法在项目启动的时候执行这个方法,也可以理解为在spring容器启动的时候执行,可作为一些数据的常规化加载,比如数据字典之类的
执行顺序:
其实从依赖注入的字面意思就可以知道,要将对象b
注入到对象a
,那么首先就必须得生成对象a
和对象b
,才能执行注入。所以,如果一个类A中有个成员变量b
被@Autowried
注解,那么@Autowired
注入是发生在A的构造方法执行完之后的。
如果想在生成对象时完成某些初始化操作,而偏偏这些初始化操作又依赖于依赖注入,那么久无法在构造函数中实现。为此,可以使用@PostConstruct
注解一个方法来完成初始化,@PostConstruct
注解的方法将会在依赖注入完成后被自动调用。
Constructor >> @Autowired >> @PostConstruct
![](https://img.haomeiwen.com/i9410089/ca08c5886287e572.png)
网友评论