@PostConstruct 和 @PreConstruct

Posted virgosnail

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了@PostConstruct 和 @PreConstruct相关的知识,希望对你有一定的参考价值。

【参考文章】:@PostConstruct

1. 基本概念

  从Java EE5规范开始,Servlet 中增加了两个影响Servlet生命周期的注解,@PostConstruct和@PreDestroy,这两个注解被用来修饰一个非静态的void()方法。

2. 实现方式

  方式一:

@PostConstruct
public void someMethod(){
}

  方式二:

public @PostConstruct void someMethod(){
}

3. 在 Servervlet 中的工作方式

  被 @PostConstruct 和 @PreDestroy 修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器执行一次;

  PostConstruct注解的方法在 Servlet 构造函数之后执行,init() 方法之前执行;

  PreDestroy注解的方法在 Servlet 的 destroy() 方法之后执行;

4. 在Spring中的工作方式

  有两个bean,A和B;

  A持有一个B对象的引用;

  A在执行完构造方法后需要调用 init() 初始化,init() 中通过B对象的部分属性进行初始化操作;

  此时可在 init() 上添加 @PostConstruct 注解,init() 会在A 的构造方法执行完成后被调用;

  Construct()  >  @PostConstruct 

  

  

 

以上是关于@PostConstruct 和 @PreConstruct的主要内容,如果未能解决你的问题,请参考以下文章

@PostConstruct

Spring@PostConstruct和@PreDestroy注解详解

多个类中 使用@PostConstruct,加载先后顺序

Java开发之@PostConstruct和@PreDestroy注解

Java开发之@PostConstruct和@PreConstruct注解

8 -- 深入使用Spring -- 2...4 使用@PostConstruct和@PreDestroy定制生命周期行为