这篇文档参考spring文档(https://docs.spring.io/spring/docs/5.2.5.RELEASE/spring-framework-reference/core.html#beans-factory-lifecycle)编写。

Bean初始化中回调和容器销毁前回调

Bean初始化回调时机:容器向Bean注入了所有必需的属性后。
容器销毁前回调时机:容器被销毁时,会挨个调用销毁前回调。

实现回调有三种方式:

  • 使用 @PostConstruct@PreDestroy 注释(官方推荐优先使用的方法)
  • 在声明Bean时,指定 <bean>init-method 属性(XML);或者指定 @BeaninitMethod 属性
  • 实现 InitializingBeanDisposableBean 接口(官方不推荐使用的方法)

同时设置的话,方法的调用顺序:

  1. 注解标识的方法
  2. 实现接口后的方法
  3. 声明Bean时指定的方法