`
tianlijia202
  • 浏览: 79426 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

Spring Bean 生命周期

 
阅读更多

Bean生命周期涉及到的方法:
1、自身的方法:构造函数实例化函数,调用seter设置bean的属性,通过bean的init-method和destory-method
2、Bean级生命周期接口方法:
BeanNameAware,BeanFactoryAware,InitializingBean,DisposableBean
3、容器级生命周期接口方法:
InstantiationAwareBeanPostProcessor,BeanPostProcessor

将以上这些接口以及容器串联起来后就是下面的顺序,也就是bean的整个生命周期:

 

1.调用InstantiationAwareBeanPostProcessor的postProcessorBeforeInstantiation()方法

看到这个接口的名字就知道是在类实例化之前做预处理的动作。

 

2.预处理结束后,开始通过构造函数实例化这个bean。

 

3.实例化结束后,还可以调用InstatiationAwareBeanPostProcessor的PostProcessorAfterInstantiation().

 

4.继续调用InstatiationAwareBeanPostProcessor的 postProcessPropertyValus()方法。

  在设置bean的属性值之前,对属性做预处理。

 

5.set设置bean的属性

 

6.调用BeanNameAware的setBeanName,将该bean的名称设置到bean中

 

7.调用BeanFactoryAware的setBeanFactory,将beanfactory容器设置到bean中

 

8.调用BeanPostProcessor的PostProcessBeforeInitialization.这是一个后处理器对bean进加工处理,

   可以对bean进行特殊的处理,甚至改变bean的行为。

 

9.调用InitializingBean的afterPropertiesSet

 

10.调用init-method属性配置的方法

 

11.调用BeanPostProcessor的postProcessAfterInitialization

 

12.调用DisposableBean的afterPropertiesSet释放bean的资源

 

13 调用通过destory-method属性配置的销毁方法

 

整个流程看起来有些庞大 ,而且在开发中也很少能够应用到。

某些方法还会和spring的框架绑定在一起了。

 

以上整个bean的生命周期来自于精通spring2.x企业应用 开发详解,这么书很好 ,作者很强大,

看了之后收益匪浅。

 

分享到:
评论
1 楼 研磨struts2 2012-04-21  
你可以参考一下两篇帖子,jinnianshilongnian的,也很不错
http://www.iteye.com/topic/1122859
http://www.iteye.com/topic/1122937

相关推荐

    Spring bean生命周期demo

    接下来,我们将深入探讨Spring Bean生命周期的各个阶段,并通过具体的示例来演示。 1. **配置阶段** 在Spring容器初始化时,它会读取配置文件(如XML或Java配置),解析Bean定义,包括其依赖关系、初始化方法、...

    spring bean的生命周期

    - **XML配置**:在传统的Spring应用中,Bean的定义通常写在XML配置文件中,如`springbean-xml`中的配置。 - **注解配置**:使用`@Component`,`@Service`,`@Repository`和`@Controller`注解标记类,配合`@...

    Spring Bean生命周期.pdf

    其中,Spring Bean生命周期的管理是Spring框架的核心功能之一,它涉及Spring容器如何创建、配置以及销毁Bean的整个过程。理解Spring Bean的生命周期对于开发高效和可维护的Java应用至关重要。 Spring Bean生命周期...

    谈谈我对Spring Bean 生命周期的理解

    Spring Bean 生命周期是 Spring 框架中的一个核心概念,了解 Spring Bean 的生命周期对我们了解整个 Spring 框架会有很大的帮助。本文将详细介绍 Spring Bean 生命周期的概念、生命周期图、生命周期阶段、生命周期...

    Spring Bean生命周期&BeanDefinitions1

    Spring框架是Java应用开发中的一个核心组件,尤其在企业级应用中广泛使用。Spring通过其IoC(Inversion of Control,控制反转)容器管理Bean的生命周期,...理解Bean生命周期对于有效管理和优化Spring应用至关重要。

    Spring Bean 的生命周期

    本篇将详细阐述Spring Bean生命周期的各个阶段,以及如何记忆和深入理解这一过程。 首先,Spring Bean的生命周期可以分为两个主要阶段:容器初始化阶段和容器销毁阶段。 在容器初始化阶段,Spring Bean会经历以下...

    Spring Bean 生命周期之“我从哪里来?”.docx

    在Spring框架中,Spring Bean的生命周期始于其创建过程,即"我从哪里来?"的问题。首先,要明确几个核心概念:Java Bean、Spring Bean和Spring IoC(控制反转)容器。Java Bean是一种遵循特定规范的Java类,而Spring...

    spring bean life cycle

    在Spring框架中,Bean生命周期是核心概念之一,它涉及到Bean的创建、初始化、使用和销毁等阶段。了解和掌握Bean生命周期对于开发高质量的Spring应用至关重要。以下是对Spring Bean生命周期的详细解析。 首先,Bean...

    详解Spring中Bean的生命周期和作用域及实现方式

    Spring中Bean的生命周期和作用域及实现方式 Spring是一个非常流行的Java应用程序框架,它提供了一个灵活的机制来管理Bean的生命周期和作用域。Bean的生命周期和作用域是Spring框架中两个非常重要的概念,它们决定了...

    Spring Bean的生命周期详细介绍

    下面以一个简单的Person类为例,展示Spring Bean生命周期的各个阶段: ```java public class Person implements BeanFactoryAware, BeanNameAware, InitializingBean, DisposableBean { // 省略属性和构造器 @...

    SpringBean生命周期详解版

    在Spring框架中,在IOC容器中管理的Bean分为单例和原型两种,单例Bean在容器启动时就实例化,原型Bean则是每次从容器中请求时才会实例化。

    spring bean的生命周期测试代码

    本资源提供了在Spring 4.2环境下关于Bean生命周期的测试代码,帮助我们深入理解这一关键概念。 首先,让我们了解Spring Bean的生命周期主要包含以下几个阶段: 1. **实例化**:Spring容器通过`Class`对象或`...

    SpringBean的生命周期.mdj

    SpringBean的生命周期.mdj

    Spring中Bean的生命周期 applicationcontext的应用(实现国际化,事件的传递)

    在Spring框架中,Bean的生命周期管理和ApplicationContext的应用是两个核心概念,它们对于理解Spring如何管理和协调应用中的对象至关重要。本文将深入探讨这两个主题,并结合国际化(i18n)和事件传递来阐述它们在...

    Spring的bean生命周期

    Bean生命周期的理解对于优化应用性能和理解Spring内部工作原理至关重要。这里我们将深入探讨Spring的Bean生命周期、容器周期以及工厂周期。 首先,让我们从Bean生命周期开始。在Spring中,Bean的生命周期包括以下几...

    Spring bean生命周期配置过程解析

    在Spring框架中,Bean的生命周期管理是其核心功能之一,它允许开发者控制Bean从创建到销毁的整个过程。本文将详细解析Spring Bean的生命周期配置过程。 首先,Bean的生命周期始于实例化。当Spring容器...

    Spring框架中Bean的生命周期 Spring中Bean有几种作用域

    Spring中的Bean生命周期主要分为两个阶段:容器管理阶段和用户自定义阶段。在容器管理阶段,Spring容器负责Bean的实例化、属性注入、初始化、使用和销毁。而在用户自定义阶段,开发者可以通过定义回调方法或使用特定...

Global site tag (gtag.js) - Google Analytics