Spring中bean的生命周期

Bean的生命周期主要涉及以下几个阶段:

  1. 实例化(Instantiation)
    在这一阶段,Spring容器通过调用无参构造方法来创建bean实例。
    1.项目启动后,spring委派给bean的信息读取器读取xml或注解,将每个bean标签转化为beandefinition信息对象并打包存在map集合
    2.从map集合中提取出每个bean的信息对象执行工厂后处理器
    3.创建出1个半成品javabean对象

  2. 属性注入(Dependency Injection)
    Spring通过依赖注入(setter注入或构造方法注入)将配置文件中指定的属性值或依赖对象注入到bean实例中。

  3. 初始化(Initialization)
    在属性注入完成后,如果bean实现了InitializingBean接口,Spring将调用afterPropertiesSet()方法。另外,如果在bean配置中指定了自定义的初始化方法,Spring也会调用该方法。
    半成品javabean对象依次执行属性赋值
    aware接口
    后处理器before
    接口初始化
    属性初始化
    后处理器after
    并创建出完整javabean对象存在singletonObjectsmap集合中

  4. 使用(Usage)
    在初始化完成后,bean就可以被应用程序使用了。在这个阶段,bean通常会执行它的业务逻辑。
    用户调用getbean方法,从singletonObjectsmap集合中 提取到想要的对象内容

  5. 销毁(Destruction)
    当Spring容器关闭时,如果bean实现了DisposableBean接口,Spring将调用destroy()方法。同样,如果在bean配置中指定了自定义的销毁方法,Spring也会调用该方法。
    伴随容器的关闭,自动回收一部分javabean对象, 回收时会自动调用接口的销毁以及属性的销毁

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值