四种方式管理Bean的生命周期

类似PostConstructor、PreDestroy等,我一直在代码中使用,但是我从来没有系统的去学习和调节它们,这次看到了,刚好一起整理一下。

@PostConstructor、@PreDestroy

JSR250规定了两个注解:

  1. @PostContructor:在bean创建完成并且属性赋值完成,来执行初始化方法
  2. @PreDestroy:在容器销毁bean之前通知我们进行清理工作

在@Bean中指定initMethod和destroyMethod

代码如下:

1
2
3

@Bean(initMethod = "init", destroyMethod = "destroy")

Bean实现InitializingBean和DisposableBean

InitializingBean:定义初始化逻辑
DisposableBean:定义销毁逻辑

开发BeanPostProcesor

bean的后置处理器,在bean初始化前后进行一些处理工作。

这个后置处理器会在每个bean注入到容器时都调用一次,开发者可以通过名称、实例等判断出自己需要进行处理的bean,然后进行处理。