lazy-init,init-method,destroy-method,depends-on的说明(这4个是Spring 1就有的)
- lazy-init是否延迟初始化
- init-method指定初始化方法
- destroy-method指定销毁方法
- depends-on指定依赖的bean(指定bean的初始化顺序)
<bean id="bean11" class="test.impl.Bean11" lazy-init="true" init-method="init" destroy-method="destroy" depends-on="bean1"/>
<bean id="bean12" class="test.impl.Bean12" lazy-init="false" init-method="init" destroy-method="destroy" depends-on="bean2"/>
<bean id="bean1" class="test.impl.Bean1" init-method="init" destroy-method="destroy" lazy-init="true"/>
<bean id="bean2" class="test.impl.Bean2" init-method="init" destroy-method="destroy" />
4个bean的生命周期:
p.s.
- 当ac是AbstractApplicationContext的子类时才能调用close方法。
- ac.getBean("bean11")和ac.getBean("bean12")是指第一次调用时。为什么是“第一次”,是因为4个bean都是singleton的,所以之后再调用时是不会初始化的。
说明:
- 一个bean的生命周期是constructor->init->destroy
- lazy-init决定了bean的初始化时机 (bean1和bean11在被调用时,bean2和bean12在ApplicationContext初始化时)
- depends-on决定了beans的初始化顺序(bean11在bean1初始化后,bean22在bean2初始化后)和销毁顺序(bean11在bean1销毁前,bean22在bean2销毁前)
- 大小: 8 KB
分享到:
相关推荐
- **XML配置**:在传统的Spring应用中,Bean的定义通常写在XML配置文件中,如`springbean-xml`中的配置。 - **注解配置**:使用`@Component`,`@Service`,`@Repository`和`@Controller`注解标记类,配合`@...
Bean的生命周期和作用域是Spring框架中两个非常重要的概念,它们决定了Bean的生命周期和作用域的管理方式。 一、Bean的生命周期 Bean的生命周期是指Bean从创建到销毁的整个过程。这个过程可以分为九个阶段: 1. ...
Bean生命周期的理解对于优化应用性能和理解Spring内部工作原理至关重要。这里我们将深入探讨Spring的Bean生命周期、容器周期以及工厂周期。 首先,让我们从Bean生命周期开始。在Spring中,Bean的生命周期包括以下几...
本资源提供了在Spring 4.2环境下关于Bean生命周期的测试代码,帮助我们深入理解这一关键概念。 首先,让我们了解Spring Bean的生命周期主要包含以下几个阶段: 1. **实例化**:Spring容器通过`Class`对象或`...
接下来,我们将深入探讨Spring Bean生命周期的各个阶段,并通过具体的示例来演示。 1. **配置阶段** 在Spring容器初始化时,它会读取配置文件(如XML或Java配置),解析Bean定义,包括其依赖关系、初始化方法、...
SpringBean的生命周期.mdj
其中,Spring Bean生命周期的管理是Spring框架的核心功能之一,它涉及Spring容器如何创建、配置以及销毁Bean的整个过程。理解Spring Bean的生命周期对于开发高效和可维护的Java应用至关重要。 Spring Bean生命周期...
本文将详细介绍 Spring Bean 生命周期的概念、生命周期图、生命周期阶段、生命周期管理方式等相关知识点。 一、 Spring Bean 生命周期概述 Spring Bean 生命周期是指 Spring 容器中 Bean 的创建、初始化、销毁等...
- **生命周期管理方式**:Spring提供了多种管理Bean生命周期的方式,如`@PostConstruct`和`@PreDestroy`注解,以及`BeanPostProcessor`接口,它们都可以自定义Bean的初始化和销毁行为。 - **作用域的影响**:不同...
Spring框架是Java应用开发中的一个核心组件,尤其在企业级应用中广泛使用。Spring通过其IoC(Inversion of Control,控制反转)容器管理Bean的生命周期,...理解Bean生命周期对于有效管理和优化Spring应用至关重要。
在Spring框架中,Bean的生命周期管理和ApplicationContext的应用是两个核心概念,它们对于理解Spring如何管理和协调应用中的对象至关重要。本文将深入探讨这两个主题,并结合国际化(i18n)和事件传递来阐述它们在...
Spring中的Bean生命周期主要分为两个阶段:容器管理阶段和用户自定义阶段。在容器管理阶段,Spring容器负责Bean的实例化、属性注入、初始化、使用和销毁。而在用户自定义阶段,开发者可以通过定义回调方法或使用特定...
总之,Spring管理的Bean生命周期包括创建、初始化、活跃使用和销毁四个主要阶段,通过各种回调方法、接口和注解,我们可以对Bean的行为进行自定义,以满足不同应用场景的需求。深入理解这些机制,有助于我们更好地...
Spring 的 Bean 生命周期,11 张高清流程图及代码,深度解析
这两个后处理器接口提供了灵活的扩展点,允许开发者在Bean生命周期的关键点进行自定义操作。 ApplicationContext是BeanFactory的升级版,提供了更丰富的功能,包括事件发布、国际化等。在ApplicationContext中,...
在Spring 3.0引入的`@Configuration`类和`@Component`(Spring MVC的`@Controller`、`@Service`、`@Repository`等)注解配合使用时,Bean生命周期的管理变得更加灵活。`@Component`注解的类会自动被Spring扫描并注册...
在这个过程中,Spring IOC容器对Bean的生命周期进行管理,使得开发者可以在特定的时间点执行指定的任务。 首先,让我们了解一下Spring IOC容器对Bean的生命周期进行管理的过程。这个过程可以分为以下几个步骤: 1....
下面以一个简单的Person类为例,展示Spring Bean生命周期的各个阶段: ```java public class Person implements BeanFactoryAware, BeanNameAware, InitializingBean, DisposableBean { // 省略属性和构造器 @...
一般情况下,我们只是关心如何正确地将Bean装配到容器中,并不关心Ioc容器是如何装配和销毁Bean的过程。但是恰恰有时候,我们需要自定义初始化或销毁Bean的过程,以满足一些“特殊的”需求。比如,数据源在关闭的...