java @postconstruct初始化注解使用


 

1、從Java EE 5規范開始,Servlet中增加了兩個影響Servlet生命周期的注解(Annotion);@PostConstruct和@PreDestroy。這兩個注解被用來修飾一個非靜態的void()方法 。寫法有如下兩種方式:

@PostConstruct

Public void someMethod() {}

或者

public @PostConstruct void someMethod(){}

  被@PostConstruct修飾的方法會在服務器加載Servle的時候運行,並且只會被服務器執行一次。PostConstruct在構造函數之后執行,init()方法之前執行。PreDestroy()方法在destroy()方法執行執行之后執行,流程如下:

 

 

被注解的Servlet生命周期

    需要注意的是,注解會多多少少地影響到服務器的啟動速度。服務器在啟動時候會遍歷Web 應用的WEB-INF/classes下的所有class文件與WEB-INF/lib下的所有jar文件,以檢查哪些類使用了注解。如果應用程序中沒有 使用任何注解,可以在Web.xml中設置的metadata-complete屬性為true.(支持@PostConstruct和 @PreDestroy的服務器需要支持Servlet2.5規范。Tomcat5.x僅支持Servlet2.4規范。)

 

2、作用。

在的servlet初始化加載之前做一些初始化任務,示例如下:

@PostConstruct
public void init() {
logger.info("初始化緩存數據......");
setOrElse(CommonConstants.SLOT_CURR_NUM_KEY, "1");
logger.info("初始化緩存數據結束");
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM