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 初始化加载之前做一些初始化任务,示例如下: