这篇文档参考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);或者指定@Bean
的initMethod
属性 - 实现
InitializingBean
和DisposableBean
接口(官方不推荐使用的方法)
同时设置的话,方法的调用顺序:
- 注解标识的方法
- 实现接口后的方法
- 声明Bean时指定的方法