Spring-第十章、对象的生命周期

在这里插入图片描述

1.什么是对象的生命周期

指的是一个对象创建,存活,消亡的一个完整过程

2.为什么要学习对象的生命周期

由Spring负责对象的创建、存活、销毁,了解生命周期,有利于我们使用好Spring为我们创建的对象

3.生命周期的3个阶段

  • 创建阶段
Spring工厂何时创建对象

(1)scope=“singleton”

Spring⼯⼚创建的同时,对象的创建

注意:设置scope=singleton 这种情况下 也需要在获取对象的同时,创建对象
<bean lazy-init="true"/>

(2)scope=“prototype”

Spring 工厂会在获取对象的同时,创建对象
ctx.getBean("")
  • 初始阶段
Spring⼯⼚在创建完对象后,调⽤对象的初始化⽅法,完成对应的初始化操作

1. 初始化⽅法提供:程序员根据需求,提供初始化⽅法,最终完成初始化操作
2. 初始化⽅法调⽤:Spring⼯⼚进⾏调⽤

(1)InitializingBean接口

//程序员根据需要,实现方法,完成初始化操作
public void afterProperitesSet(){

}

(2)对象中提供一个普通的方法

public void myInit(){

}
<bean id='product' class='xxx.Product'init-method='myInit'/>

(3)细节分析

  • 如果一个对象即实现InitializingBean同时又提供的普通的初始化方法顺序
1.InitializingBean
2.普通初始化方法
  • 注入一定发生在初始化操作的前端
  • 什么叫做初始化操作
资源的初始化:数据库 IO 网络
  • 销毁阶段
 Spring销毁对象前,会调用对象的销毁方法,完成销毁操作
	1.Spring什么时候销毁所创建的对象
	ctx.close();
	2.销毁方法:程序员根据自己的需求,定义销毁方法,完成销毁操作,调用:Spring工厂完成调用
	

(1)DisposableBean

public void destroy()throws Exception{

}

(2)定义一个普通的销毁方法

public void myDestroy()throws Exception{
}
<bean id="" class="" init-method="" destroymethod="myDestroy"/>

(3)细节分析

  1. 销毁方法的操作只适合用于scope=“singleton”
  2. 什么叫做销毁操作
    主要指的就是: 资源的释放资源操作: io.close() connection.close();

猜你喜欢

转载自blog.csdn.net/m0_47298981/article/details/107632242