音乐推荐
说明
本篇主要介绍Spring Bean的生命周期以及Spring提供的对应各个生命周期的hook(钩子)介绍。
Spring 生命周期流程图
Spring依赖注入对象初始化阶段说明
Spring支持属性注入、setter注入、构造器注入等依赖注入形式。这三种注入形式如下:
- 当注解
@Autowired被标注在属性的setter方法上时执行setter注入,依赖对象在构造方法之后,setBeanName(String)方法之前直接注入到属性中(不通过setter方法); - 当注解
@Autowired被标注在属性声明上时执行属性注入,依赖对象在构造方法之后,setBeanName(String)方法之前通过setter方法完成注入; - 当注解
@Autowired被标注在构造器上,并且属性被定义为final类型时,执行构造器注入,依赖对象在调用构造方法时实现注入(Intellij IDEA推荐)。
Spring在4.3.2.RELEASE版本中支持以下这种特殊定义:
类定义:
|
|
XML配置文件声明:
|
|
也就是说,Bean的定义可以不通过constructor-arg标签或者c命名空间来指定构造方法的参数。
Spring生命周期测试
LifeCycle类:
|
|
XML配置文件中对该Bean的定义:
|
|
测试样例:
|
|
测试结果:

如果需要在Bean实例化后结合属性执行某些操作时,建议通过实现InitializingBean接口来完成操作,同时,想要在Spring的IoC容器关闭时执行某些清除操作,可以通过实现DisposableBean接口来实现。
| 编写日期:2017-06-03 |
| 发布日期:2017-06-03 |