从书上可知,Spring框架中Bean对象有它的生命周期,还包括Bean的销毁。在BeanFacotory中获取的实例是Singleton,BeanFactory默认每一个引用来维护一个实例,对单执行程序来讲,并不会有什么问题,但是多程序来说,就需要你注意执行的安全,可以设置每次在BeanFacotry中获取Bean时,都产生一个新的实例。
for example:
<bean id="helloBean" class="com.baidu.HelloBean" singleton="false">
singleton默认值是true,意思是,每次都是共享一个实例,但是如果你要换成了false,每次都会产生一个新的实例。
从上一小结也曾经说过,BeanFactory负责Bean的生命周期,包括Bean的创建与销毁,Bean的创建方式是否为singleton,
Bean的属性设定,依赖关系的关联等。还可以在Bean的生命周期的某个阶段做一些事情,可以有几种方式。
第一种:通过Spring框架中提供的org.springframework.beans.factory.InitializingBean,和org.springframework
.beans.factory.DisposableBean,在创建或销毁的时候做一些事情。(书上描述说这种方式会导致Bean的可以移植性)
第二种:在创建HelloBean同时创建两个方法,用来当创建该bean或销毁该bean对象时候做某些事情.代码如下:
public class HelloBean {
public void init() {
....
}
....
public void destroy() {
....
}
}
applicationContext.xml
<bean id="helloBean" class="com.baidu.HelloBean"
init-method="init"
destroy-method="destroy">
</bean>
这样做的好处就是不用引入spring框架中的类,就可以让Bean对象轻松的从Spring框架中解脱出来。
然而这种方法还是依赖于Spring的容器,容器必须要有调用这个方法的能力。知识一些方法的名可以由自己去决定。
除了两种方式之外,其实还可以在Bean对象创建的setter方法中做一些事情,可以让Bean不依赖容器或特定的类.但是销毁时的调用就很麻烦,因为finalize()执行的时间是由Gc决定。
分享到:
相关推荐
Spring中的Bean生命周期主要分为两个阶段:容器管理阶段和用户自定义阶段。在容器管理阶段,Spring容器负责Bean的实例化、属性注入、初始化、使用和销毁。而在用户自定义阶段,开发者可以通过定义回调方法或使用特定...
Spring Bean的生命周期是Spring框架中的核心概念,它涵盖了Bean从创建到销毁的全过程。了解这一过程对于优化应用程序的性能和管理资源至关重要。在Spring中,Bean的生命周期主要分为以下几个阶段: 1. **初始化阶段...
在整个生命周期中,Spring提供了多种方式来实现Bean的初始化,例如使用init-method参数、InitializingBean接口等。 二、Bean的作用域 Bean的作用域是指Bean的生命周期和可用性。Spring框架提供了多种作用域,例如 ...
在Bean的生命周期中,还有一个非常重要的概念:Bean后置处理器。Bean后置处理器允许在调用初始化方法前后对Bean进行额外的处理。Bean后置处理器对IOC容器里的所有Bean实例逐一处理,而非单一实例。其典型应用是:...
本资源提供了在Spring 4.2环境下关于Bean生命周期的测试代码,帮助我们深入理解这一关键概念。 首先,让我们了解Spring Bean的生命周期主要包含以下几个阶段: 1. **实例化**:Spring容器通过`Class`对象或`...
在Spring框架中,Bean的生命周期管理和ApplicationContext的应用是两个核心概念,它们对于理解Spring如何管理和协调应用中的对象至关重要。本文将深入探讨这两个主题,并结合国际化(i18n)和事件传递来阐述它们在...
总之,Spring管理的Bean生命周期包括创建、初始化、活跃使用和销毁四个主要阶段,通过各种回调方法、接口和注解,我们可以对Bean的行为进行自定义,以满足不同应用场景的需求。深入理解这些机制,有助于我们更好地...
在 Bean 的生命周期中,我们需要了解 Bean 的生命周期案例,以便更好地理解 Bean 的生命周期。 本文主要研究了 Spring 框架中 Bean 的实例化过程,包括 Bean 的生命周期和循环依赖问题的解决方案。通过了解 Spring ...
在Spring框架中,Bean的生命周期是指从创建到销毁的整个过程。这个过程包含了初始化、正常使用以及最终的销毁几个阶段。了解并掌握Spring Bean的生命周期对于优化应用性能和资源管理至关重要。接下来,我们将深入...
Spring Bean的生命周期是Spring框架核心概念之一,它涵盖了Bean从创建到销毁的全过程。了解这一过程对于优化应用程序性能和管理对象状态至关重要。本篇将详细阐述Spring Bean生命周期的各个阶段,以及如何记忆和深入...
Spring Bean生命周期中的扩展接口主要包括: - 容器级扩展接口 - InstantiationAwareBeanPostProcessor:这个接口允许在Bean实例化之前和之后以及属性赋值之后进行扩展。这使得它可以在Bean的生命周期中多个点进行...
容器会在 Bean 的整个生命周期中执行不同的方法,包括实例化、设置属性、依赖注入、初始化、使用和销毁等阶段。 六、 小结 Spring Bean 生命周期是 Spring 框架中的一个核心概念,掌握 Spring Bean 生命周期可以...
在Spring框架中,Bean的生命周期是其核心特性之一,它涉及到Bean从创建到销毁的整个过程。本篇文章将深入探讨Spring Bean的生命周期管理,包括初始化、正常使用和销毁等阶段,以及如何自定义这些过程。 首先,...
Spring框架是Java应用程序开发中的核心组件,其管理Bean的生命周期是其重要特性之一。Bean生命周期的理解对于优化应用性能和理解Spring内部工作原理至关重要。这里我们将深入探讨Spring的Bean生命周期、容器周期以及...
在Spring框架中,IOC(Inversion of Control,控制反转)容器是核心组件,它负责管理对象的生命周期,也就是Bean的生命周期。这篇SSH笔记主要探讨了如何在Spring4中利用BeanPostProcessor接口定制Bean的初始化和销毁...
这两个后处理器接口提供了灵活的扩展点,允许开发者在Bean生命周期的关键点进行自定义操作。 ApplicationContext是BeanFactory的升级版,提供了更丰富的功能,包括事件发布、国际化等。在ApplicationContext中,...
总的来说,理解并掌握Spring框架中Bean的定义和生命周期对于Java Web开发至关重要。它不仅涉及到Bean的创建、初始化和销毁,还涉及到Bean间的依赖注入、生命周期管理以及各种扩展机制,这些都是构建可维护、可扩展的...
在Spring框架中,Bean生命周期是核心概念之一,它涉及到Bean的创建、初始化、使用和销毁等阶段。了解和掌握Bean生命周期对于开发高质量的Spring应用至关重要。以下是对Spring Bean生命周期的详细解析。 首先,Bean...
Spring框架是Java应用开发中的一个核心组件,尤其在企业级应用中广泛使用。Spring通过其IoC(Inversion of Control,控制反转)容器管理Bean的生命周期,...理解Bean生命周期对于有效管理和优化Spring应用至关重要。