Bean的生命周期详解


    Bean的生命周期大可分为五个阶段,分别是 创建前准备创建实例化依赖注入容器缓存,和 销毁实例

创建前准备

    这个阶段的主要作用就是Bean在开始加载之前要从上下文和一些配置中,去解析查找Bean有关的扩展实现。比如说像init-method,容器在初始化Bean的时候会调用的一个方法;destroy-method容器在销毁Bean的时候会调用的方法;以及BeanFactoryPostProcessor(),spring给我们提供的扩展类方法。这一类的Bean加载过程中的一些前置和后置的一些处理扩展实现,这些类或者配置,其实是Spring提供给我们来去实现Bean加载过程中的一些扩展在很多的和Spring集成的中间件也比较常见。

创建实例化

    第二个阶段是创建实例阶段,这个阶段的主要作用是通过反射创建Bean的实例对象。并且会扫描和解析Bean声名的一些属性。这步完成时,Bean得对象已经创建了出来,但是Spring Bean并不对外使用。

依赖注入

    第三个阶段是依赖注入阶段,如果被实例化的Bean存在依赖其他Bean的情况,则需要对这些依赖的Bean进行对象注入。比如常见的@Autowired注解注入或者setter()在xml文件注入等这样一些配置形式。同时在这个阶段会触发一些扩展的调用,比如说常见的扩展类BeanPostProcessors后置处理器用来实现Bean初始化前后的扩展回调以及像BeanFactoryAware等等

容器缓存

    第四个阶段是容器缓存阶段,这个阶段的主要作用就是把Bean保存到容器,以及Spring的缓存中。到了这个阶段的Bean其实以及可以被开发者调用了。这个阶段涉及的操作常见的比如init-method,这个属性配置的一些方法会这个阶段会被调用;以及像BeanPostProcessoes后置处理器方法也会在这个阶段触发。

销毁实例

    第五个阶段就是销毁实例阶段,当Spring的应用上下文被关闭的时候,那么上下文中所有的Bean就会被销毁,如果存在Bean配置了destroy-method这些方法,会在这个阶段调用。

  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值