1.什么是生命周期
对象创建 存活 销毁的完整的过程
2.为什么学习对象的生命周期
在以前通过new创建对象,调用对象,则该对象存活,直到被JVM的垃圾回收机制回收
现在由Spring负责对象的创建 存活 销毁,了解生命周期,有助于使用好Spring为我们创建的对象
3.生命周期的三个阶段
- 创建阶段
- scope=”singleton”
Spring创建工厂的同时,创建对象
注意 : 设置scope="singleton"的同时,想要在获取对象的同时,创建对象
在bean标签中添加属性
- scope=”prototype”
Spring工厂在获取对象的同时,创建对象
- 初始化阶段
Spring工厂在创建完对象后,调用对象的初始化方法,完成初始化操作
1. 初始化方法提供:程序员根据需求,提供初始化方法,完成初始化操作
2. 初始化方法调用:Spring工厂进行调用
- 实现InitializingBean接口
//将初始化需求写在方法里面,完成初始化操作
public void afterPropertiesSet(){}
- 在对象中提供一个普通的初始化方法
//名字随便起
public void myInit(){}
//配置文件中进行配置
- 细节分析
- 如果一个对象既实现了InitializingBean接口, 又提供了普通的初始化方法时,怎么调用?谁先调用?
都会起作用
先调用接口方法
再调用普通的初始化方法
2. 如果对象中存在成员变量, 需要进行注入, 先注入还是先初始化?
注入一定会发生在初始化之前
3. 什么是初始化
资源的初始化 : 数据库 IO 网络...
- 销毁阶段
Spring销毁对象之前,会调用对象的销毁方法,完成销毁操作
1. Spring什么时候销毁所创建的对象
context.close();
2. 销毁方法 : 程序员根据需求,定义销毁方法,完成销毁操作
调用 : Spring工厂完成调用
- 实现DisposableBean接口
//将销毁需求写在该方法中,完成销毁操作
public void destroy(){}
- 在对象中提供一个普通的销毁方法
//在对象中定义方法,命名无要求
public void myDestroy(){}
//配置文件中进行配置
- 细节分析
- 销毁操作只适用于scope=”singleton”时
- 什么是销毁
主要是资源的释放
- 总结
Original: https://www.cnblogs.com/suwuji/p/16498593.html
Author: 苏无及
Title: 第十章 对象的生命周期
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/612606/
转载文章受原作者版权保护。转载请注明原作者出处!