@PostConstruct注解学习
@PostConstruct注解好多人以為是Spring提供的。其實(shí)是Java自己的注解。
Java中該注解的說(shuō)明:@PostConstruct該注解被用來(lái)修飾一個(gè)非靜態(tài)的void()方法。被@PostConstruct修飾的方法會(huì)在服務(wù)器加載Servlet的時(shí)候運(yùn)行,并且只會(huì)被服務(wù)器執(zhí)行一次。PostConstruct在構(gòu)造函數(shù)之后執(zhí)行,init()方法之前執(zhí)行。
通常我們會(huì)是在Spring框架中使用到@PostConstruct注解 該注解的方法在整個(gè)Bean初始化中的執(zhí)行順序:
Constructor(構(gòu)造方法)?->?@Autowired(依賴注入)?->?@PostConstruct(注釋的方法)
?作用:
@PostConstruct注解的方法在項(xiàng)目啟動(dòng)的時(shí)候執(zhí)行這個(gè)方法,也可以理解為在spring容器啟動(dòng)的時(shí)候執(zhí)行,可作為一些數(shù)據(jù)的常規(guī)化加載,比如數(shù)據(jù)字典之類的。
執(zhí)行順序:
其實(shí)從依賴注入的字面意思就可以知道,要將對(duì)象p注入到對(duì)象a,那么首先就必須得生成對(duì)象a和對(duì)象p,才能執(zhí)行注入。所以,如果一個(gè)類A中有個(gè)成員變量p被@Autowried注解,那么@Autowired注入是發(fā)生在A的構(gòu)造方法執(zhí)行完之后的。
如果想在生成對(duì)象時(shí)完成某些初始化操作,而偏偏這些初始化操作又依賴于依賴注入,那么久無(wú)法在構(gòu)造函數(shù)中實(shí)現(xiàn)。為此,可以使用@PostConstruct注解一個(gè)方法來(lái)完成初始化,@PostConstruct注解的方法將會(huì)在依賴注入完成后被自動(dòng)調(diào)用。
Constructor >> @Autowired >> @PostConstruct
?
?
啟動(dòng)項(xiàng)目輸出如下
總結(jié)
以上是生活随笔為你收集整理的@PostConstruct注解学习的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 如何使用花生壳或ngork工具将web应
- 下一篇: 李晓菁201771010114《面向对象