springboot的@PostConstruct注解
一 @PostConstruct注解的作用1.1 作用1.@PostConstruct该注解被用来修饰一个非静态的void()方法。@PostConstructpublic void someMethod(){}2.被@PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器执行一次PostConstruct在构造函数之后执行,init()方法之前执行。3.被@
·
一 @PostConstruct注解的作用
1.1 作用
1.@PostConstruct该注解被用来修饰一个非静态的void()方法。
@PostConstruct
public void someMethod(){}
2.被@PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器执行一次
PostConstruct在构造函数之后执行,init()方法之前执行。
3.被@PostConstruct注解的方法,将会在依赖注入完成后被自动调用。
1.2 使用场景
如果想在生成对象时完成某些初始化操作,而偏偏这些初始化操作又依赖于依赖注入,那么久无法在构造函数中实现。为此,可以使用@PostConstruct注解一个方法来完成初始化,@PostConstruct注解的方法将会在依赖注入完成后被自动调用。
1.3 执行顺序
spring中Constructor、@Autowired、@PostConstruct的顺序:
Constructor << @Autowired << @PostConstruct
其实从依赖注入的字面意思就可以知道,要将对象p注入到对象a,
那么首先就必须得生成对象a
其次注入对象p,才能执行注入。
所以,如果一个类A中有个成员变量p被@Autowried注解,那么@Autowired注入是发生在A的构造方法执行完之后的。
1.4 案例1
1.5 案例2
更多推荐
已为社区贡献18条内容
所有评论(0)