码迷,mamicode.com
首页 > 编程语言 > 详细

spring中bean的生命周期

时间:2014-07-22 23:12:52      阅读:436      评论:0      收藏:0      [点我收藏+]

标签:des   blog   http   使用   os   strong   

关于spring中bean的生命周期管理请参照下图所示:

mamicode.com,码迷

一个bean在spring中要经历如下生命过程:

(1)bean的建立

  容器寻找bean的定义信息并将其实例化;

(2)属性注入

  使用依赖注入,spring按照bean的定义信息配置bean的所有属性;

(3)BeanNameAware的setBeanName()

  如果bean实现了BeanNameAware接口,工厂调用bean的setBeanName传递bean的id;

(4)BeanFactoryAware的setBeanFactory()

  如果bean实现了BeanFactoryAware接口,工厂调用bean的setBeanFactory传递自身;

(5)BeanPostProcessors的ProcessBeforeInitialization()

  如果BeanPostProcessors和bean关联,那么其postProcessBeforeInitialization()方法将被调用;

(6)InitializingBean的afterPropertiesSet()

  如果bean实现了InitializingBean接口,那么其afterPropertiesSet()方法将被调用;

(7)bean自己定义的init-method

  如果bean的定义信息中定义了init-method方法,那么会执行bean自己的初始化方法;

(8)BeanPostProcessors的ProcessaAfterInitialization()

  如果有BeanPostProcessors和bean关联,那么其ProcessaAfterInitialization()方法将被调用;

到此时,bean就可以被应用系统使用了,并被保存在BeanFactory中直到它不再被使用。

有两种方式可以把bean从BeanFactory中删除:

a. 如果bean实现了DisposableBean接口,destory()方法被调用。

b. 如果bean定义了destroy-method方法,则调用该方法。

spring中bean的生命周期,码迷,mamicode.com

spring中bean的生命周期

标签:des   blog   http   使用   os   strong   

原文地址:http://www.cnblogs.com/blackckat-hm/p/3700114.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!