JavaEE Bean生命周期

一个Bean从创建到销毁,如果是用BeanFactory来生成,管理Bean的话,会经历几个执行阶段,也就是说它的生命周期是怎样的。首先我们来看一张图:

spring bean生命周期执行的过程如下:

1)spring对bean进行实例化,默认bean是单例

2)spring对bean进行依赖注入

3)如果bean实现了BeanNameAware接口,spring将bean的id传给setBeanName()方法

4)如果bean实现了BeanFactoryAware接口,spring将调用setBeanFactory方法,将BeanFactory实例传进来

5)如果bean实现了ApplicationContextAware()接口,spring将调用setApplicationContext()方法将设置应用上下文对象的引用

6) 如果bean实现了BeanPostProcessor接口,spring将调用它的postProcessBeforeInitialization接口方法

7) 如果bean实现了InitializingBean接口,spring将调用它们的afterPropertiesSet接口方法

8)如果bean使用了init-method属性声明了初始化方法,该方法会被调用

9)如果bean实现了BeanPostProcessor接口,spring将调用它们的postProcessAfterInitialization接口方法

10)此时bean已经准备就绪,可以被应用程序使用了,他们将一直驻留在应用上下文中,直到该应用上下文被销毁

11)若bean实现了DisposableBean接口,spring将调用它的distroy()接口方法

12)如果bean使用了destroy-method属性声明了销毁方法,则该方法被调用

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,323评论 19 139
  • 什么是Spring Spring是一个开源的Java EE开发框架。Spring框架的核心功能可以应用在任何Jav...
    jemmm阅读 16,633评论 1 133
  • Spring容器高层视图 Spring 启动时读取应用程序提供的Bean配置信息,并在Spring容器中生成一份相...
    Theriseof阅读 7,809评论 1 24
  • Q:依赖倒置原则(Dependency Inversion Principle,DIP),依赖注入(Depende...
    Q南南南Q阅读 3,655评论 0 4
  • 人生匆匆,时有感悟,但苦于无法转为文字记录,今日孕期5周2日,身体特别不适,单位值班中,突感母亲伟大,怀...
    一番一番阅读 5,585评论 0 0