Spring学习之——bean的生命周期

bean的生命周期

创建阶段

Spring⼯⼚何时创建对象

  1. scope=“singleton”
    Spring⼯⼚创建的同时,对象的创建
    注意:设置scope=singleton 这种情况下 也需要在获取对象的同时,创建对象
    <bean lazy-init="true"/>
    
  2. scope=“prototype”
    Spring⼯⼚会在获取对象的同时,创建对象
    ctx.getBean(“”)

如果使用注入,则注入一定在初始化前面进行

初始化阶段

Spring⼯⼚在创建完对象后,调⽤对象的初始化⽅法,完成对应的初始化操作

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

对象类中

public void myInit(){

}

applicationContext.xml(在init-method中配置对应方法名)

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

销毁阶段

Spring销毁对象前,会调⽤对象的销毁⽅法,完成销毁操作

  1. Spring什么时候销毁所创建的对象?
    ctx.close();

    使用单例模式下,容器进行关闭,所有对象自动销毁
    使用多例,创建的对象不会放在IOC容器当中,销毁则按普通对象被销毁时,进行该方法

  2. 销毁⽅法:程序员根据⾃⼰的需求,定义销毁⽅法,完成销毁操作
    调⽤:Spring⼯⼚完成调⽤

对象类中

public void myDestroy()throws Exception{
}

applicationContext.xml(在destroymethod中配置对应方法名)

<bean id="" class="" init-method="" destroymethod="myDestroy"/>

你可能感兴趣的:(Spring,spring,学习,java)