zoukankan      html  css  js  c++  java
  • Spring中Bean的生命周期

    单例对象的生命周期和多例对象的生命周期不一样。

    单例对象:

    单例对象单例对象的生命周期与容器的生命周期相同

    出生读取完配置文件,即创建容器,只要容器一创建,就马上创建对象

    活着只要容器还在,对象一直活着

    死亡容器销毁,则对象消亡

    现在来测试一下,在类中添加两个方法:

     

    注意:此时是单例对象。

     

     结果为:

    只要执行完第一行代码,就立即创建和初始化对象。当关闭容器时,对象就销毁了。

    如果是多例对象,即使关闭了容器,对象也没有销毁。

    多例对象:

     

     结果:

    发现只有在使用(获取)的时候才会初始化,这与刚才采用BeanFactory时看到的现象是一样的,如果改成singleton,只要读取完配置文件,马上就初始化对象了。

    Spring是非常智能的框架,它可以感知到对象的作用范围是单例还是多例,从而来选择什么时候创建对象,即对象创建的时机是立即还是延迟,单例对象就是立即,多例对象就是延迟。

    借助bean标签的两个属性init-method和destroy-method

    多例对象:(仅作了解)

    出生当我们使用(获取)对象时,spring框架为我们创建和初始化对象

    活着对象只要是在使用过程中就一直活着

    死亡当对象长时间不用,且没有别的对象引用时,由java的垃圾回收器回收

    Spring不负责多例对象的销毁。

  • 相关阅读:
    日记1
    JDK、JRE、JVM三者间的关系
    线性表之二,SLINKLIST(单链表)类,模板类及C链表(增删改查,广义表
    线性表之一,SEQLIST(顺序表)类及其父类LIST,模板类及C结构体,包装顺序表
    PTA(中国人民解放军陆军工程大学数据结构,C语言)
    冒泡排序
    选择排序、堆排序
    冒泡排序,快速排序
    springMVC定时器
    MD5加密
  • 原文地址:https://www.cnblogs.com/zwh0910/p/14618130.html
Copyright © 2011-2022 走看看