Spring注解驱动开发——Bean的生命周期

1、Bean指定初始化和销毁方法

 还是先写一个配置类:

Spring注解驱动开发——Bean的生命周期_第1张图片

测试:Spring注解驱动开发——Bean的生命周期_第2张图片

改为多实例的Bean:

Spring注解驱动开发——Bean的生命周期_第3张图片

再次测试:

Spring注解驱动开发——Bean的生命周期_第4张图片

 上篇文章——《Spring注解驱动开发——组件注册方法》中已经提到过:多实例的Bean在开启容器时,不会创建对象,只有在代码中编写获取该Bean的代码时才会创建对象,所以这次没有构造对象,也就没有执行初始化方法喽。

若在测试代码中显式的取获取Bean

Spring注解驱动开发——Bean的生命周期_第5张图片

2、通过让Bean实现InitializingBean(定义初始化)和实现DisposableBean(定义销毁方法)

Spring注解驱动开发——Bean的生命周期_第6张图片测试:

Spring注解驱动开发——Bean的生命周期_第7张图片

3、使用JSR250规范中@PostConstruct和@PreDestroy

@PostConstruct(标注在方法上):在bean创建完成并且实属性赋值完成,来执行初始化方法。

@PreDestroy(标注在方法上):在容器销毁Bean之前通知我们进行清理工作。

和第一种方式差不多,只是这两个注解是直接标注在方法上的。

Spring注解驱动开发——Bean的生命周期_第8张图片

4、BeanPostProcessor(是个接口)后置处理器

在Bean的初始化前后做些处理工作。

此接口有连个方法:postProcessBeforeInitialization():在初始化之前工作

Spring注解驱动开发——Bean的生命周期_第9张图片

postProcessAfterInitialization():在初始化之后工作

Spring注解驱动开发——Bean的生命周期_第10张图片

写个实现类来实现这两个方法

Spring注解驱动开发——Bean的生命周期_第11张图片

测试:

Spring注解驱动开发——Bean的生命周期_第12张图片

 

你可能感兴趣的:(框架)