`
haokong
  • 浏览: 15042 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

Bean在Spring Bean Factory和 ApplicationContext中的生命周期

阅读更多

Bean Factory中的生命周期如下:

 

1 实例化

  由BeanFactory读取Bean定义文件,并生成各个Bean实例。

2 注入属性

3 设置Bean 名称

  如果Bean实现了BeanNameAware接口,则执行setBeanName()方法。

4 设置Bean Factory

  如果Bean实现了BeanFactoryAware接口,则执行setBeanFactory()方法。

5 初始化前的预处理

  如果Bean实现了BeanPostProcessors接口,则执行postProcessBeforeInitialization()方法。

6 初始化Bean

  如果Bean实现了InitializationBean接口,则执行afterPropertiesSet()方法。

7 初始化后的预处理

  如果Bean实现了BeanPostProcessors接口,则执行postProcessAfterInitialization()方法。

8 DisposableBean 销毁 Bean

  如果实现了DisposableBean接口,则执行destroy()方法。

9 xml指定销毁方法

 在bean标签中如果指定了destroy-method的值,则执行该方法。

 

ApplicationContext中的生命周期如下:

 

1 实例化

  由ApplicationContext读取Bean定义文件,并生成各个Bean实例。

2 注入属性

3 设置Bean 名称

  如果Bean实现了BeanNameAware接口,则执行setBeanName()方法。

4 设置Bean Factory

  如果Bean实现了BeanFactoryAware接口,则执行setBeanFactory()方法。

5 设置ApplicationContext

  如果Bean实现了ApplicationContextAware接口,则执行setApplicationContext()方法。

6 初始化前的预处理

  如果Bean实现了BeanPostProcessors接口,则执行postProcessBeforeInitialization()方法。

7 初始化Bean

  如果Bean实现了InitializationBean接口,则执行afterPropertiesSet()方法。

8 初始化后的预处理

  如果Bean实现了BeanPostProcessors接口,则执行postProcessAfterInitialization()方法。

9 DisposableBean 销毁 Bean

  如果实现了DisposableBean接口,则执行destroy()方法。

10 xml指定销毁方法

 在bean标签中如果指定了destroy-method的值,则执行该方法。

分享到:
评论

相关推荐

    Spring高级应用,Bean讲解

    Spring 高级应用之 Bean 讲解 Bean 是 Spring 框架中的核心组件, plays a crucial role in the Spring ...Bean 是 Spring 框架中的核心组件,理解 Bean 的概念、配置、实例化和生命周期是使用 Spring 框架的基础。

    java中获得spring中的BEAN

    Spring容器负责创建这些Bean的实例,并管理它们的生命周期以及配置它们之间的依赖关系。 ### 获取Spring中的Bean #### 1. 使用ApplicationContext Spring提供了多种容器来管理Bean,其中`ApplicationContext`是最...

    Spring中文API帮助文档

    2. **Bean工厂(Bean Factory)与ApplicationContext**:Bean Factory是Spring容器的基本实现,而ApplicationContext在Bean Factory的基础上添加了更多企业级服务,如消息源、应用事件和国际化支持。 3. **AOP**:...

    SpringBoot 获取spring bean方式.rar

    Spring会负责Bean的创建、初始化、装配以及销毁等生命周期管理。 1. **`@Autowired`注解** `@Autowired`是Spring提供的一个依赖注入注解,它能够自动将匹配的Bean注入到需要的地方。例如: ```java @Autowired ...

    Spring 中文和英文帮助文档API

    Spring Core Container是基础,它包含Bean工厂(Bean Factory)和ApplicationContext,负责创建、配置和管理应用中的对象。Bean工厂是对象的容器,而ApplicationContext则提供了更丰富的上下文信息,如事件发布和...

    Spring高级篇二.pdf

    通常情况下,开发者需要在代码中自行创建对象并管理其生命周期,而使用IoC后,这些工作由Spring容器完成。例如,原本程序员需要在代码中手动创建`UserService`对象,但在Spring中,这个任务被委托给了Spring容器。 ...

    LifeCycleBeanSpring:在Spring中实现生命周期bean

    总的来说,`LifeCycleBeanSpring`项目通过具体的代码示例,帮助开发者理解如何在Spring环境中有效地管理Bean的生命周期,从而实现更加高效和可控的应用程序。在实际开发中,合理地利用这些生命周期机制,可以避免...

    Spring在代码中获取bean的几种方式.rar

    在Spring框架中,管理Bean是其核心特性之一。Bean是由Spring容器创建、初始化、装配以及管理的对象,开发者可以通过多种方式在代码中获取这些Bean。以下将详细介绍Spring在代码中获取bean的几种主要方法: 1. **`...

    spring源码剖析

    源码中的继承和实现关系揭示了Spring如何构建一个复杂的对象管理系统,它不仅仅是一个简单的Key-Value存储,而是包含了bean定义解析、依赖注入、生命周期管理等一系列复杂操作。通过深入研究这部分源码,我们可以更...

    spring 5.2.9 07 源码分析-spring的bean工厂准备工作 测试用例

    在Spring框架中,Bean工厂是核心组件之一,它负责管理所有Bean的生命周期,包括实例化、配置、装配以及销毁。本章将详细分析Spring 5.2.9版本中Bean工厂的准备工作,特别是通过测试用例来理解其实现细节。 在Spring...

    day01_eesy_02factory_spring_

    BeanFactory是Spring的基础容器,负责管理bean的生命周期和依赖关系。而ApplicationContext则是在BeanFactory基础上增加了国际化、事件传播、AOP等功能,更常用于实际开发中。 接下来,我们深入到"day01_eesy_02...

    二、Spring源码分析——BeanFactory

    3. **生命周期管理**:提供bean的初始化和销毁方法调用,允许开发者自定义bean的生命周期行为。 4. **作用域管理**:支持单例(singleton)、原型(prototype)等多种bean的作用域。 5. **配置元数据**:可以读取XML...

    Spring ApplicationContext.xml配置的12个技巧演示教学.pdf

    init-method 和 destroy-method 可以用来管理 Bean 的生命周期,例如,在Bean 实例化时执行某些操作。 10. 使用 profile 来管理不同的环境 profile 可以用来管理不同的环境,例如,开发环境、测试环境和生产环境。...

    Spring_1.2_api

    Bean Factory是最基础的容器,负责管理Bean的生命周期;ApplicationContext则更加强大,除了Bean Factory的功能外,还支持国际化、事件传播、资源加载等功能。在实际应用中,ApplicationContext通常更为常用。 3. *...

    详细的Spring配置和Spring Boot-外文翻译

    本章将介绍一些策略,使你的bean能够在生命周期的各个阶段接收到Spring容器的通知。你可以通过实现Spring定义的特定接口,通过反射指定Spring可以调用的方法,或者使用JSR-250的JavaBeans生命周期注解来实现这一点。...

    Spring配置使用之Bean生命周期详解

    Spring 配置使用之 Bean 生命周期详解是指在 Spring 框架中,Bean 从创建到销毁的整个过程。这个过程是非常重要的,因为它决定了 Bean 的生命周期和行为。 基本概念 在 Spring 中,Bean 的生命周期指的是 Bean 从...

    面试题--Spring部分.pdf

    面试中,Spring相关的知识点通常包括其核心特性、Bean的生命周期、依赖注入(DI)以及不同类型的Bean工厂。以下是对这些概念的详细解释: 1. **Spring IOC(Inversion of Control,控制反转)**:传统的编程模式中...

    Spring Bean实例化实现过程解析

    Spring Bean 实例化是 Spring 框架中一个非常重要的概念,它直接关系到 Bean 的生命周期和管理。在 Spring 框架中,Bean 的实例化是通过容器来管理的,容器会根据配置文件中的信息来实例化 Bean。下面我们将详细介绍...

    spring相关面试题.docx

    Spring框架是Java开发中不可或缺的一...以上内容详细解释了Spring框架中关于IOC、DI、Bean生命周期和配置方式等核心概念。理解并掌握这些知识点对于Spring开发者来说至关重要,它们能帮助构建更高效、更灵活的应用。

Global site tag (gtag.js) - Google Analytics