从Java EE5开始,Servlet增加了两个影响Servlet生命周期的注解:分别@PostConstruct和@PreDestroy。这两个注解被用来修饰非静态的void()方法.并且该方法不能抛出异常。
1.执行顺序
@PostConstruct
在加载servlet时执行,在构造方法之后,init()方法之前
@PreDestroy
在卸载servlet时执行,在destroy()方法之后,在Servlet被彻底卸载之前
2.实例
@PostConstruct
public void start() {
serverSocket = new ServerSocket(Integer.valueOf(config.getPort()));
while (true) {
Socket socket = serverSocket.accept();
ServerSocketThread connection = new ServerSocketThread(socket);
connection.start();
}
}
@PreDestroy
public void close() throws IOException {
this.serverSocket.close();
log.info("C接口服务已关闭");
}