`
123003473
  • 浏览: 1060239 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

请介绍一下Spring框架中Bean的生命周期

 
阅读更多
一、Bean的定义
Spring通常通过配置文件定义Bean。如:

<?xml version=”1.0″ encoding=”UTF-8″?>
<beans xmlns=”http://www.springframework.org/schema/beans”
xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”
xsi:schemaLocation=”http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd”>
<bean id=”HelloWorld” class=”com.pqf.beans.HelloWorld”>
<property name=”msg”>
<value>HelloWorld</value>
</property>
</bean>
</beans>


这个配置文件就定义了一个标识为 HelloWorld 的Bean。在一个配置文档中可以定义多个Bean。

二、Bean的初始化
有两种方式初始化Bean。
1、在配置文档中通过指定init-method 属性来完成
在Bean的类中实现一个初始化Bean属性的方法,如init(),如:
public class HelloWorld{
public String msg=null;
public Date date=null;

public void init() {
msg=”HelloWorld”;
date=new Date();
}
……
}

然后,在配置文件中设置init-mothod属性:
<bean id=”HelloWorld” class=”com.pqf.beans.HelloWorld” init-mothod=”init” >
</bean>


2、实现 org.springframwork.beans.factory.InitializingBean接口
Bean实现InitializingBean接口,并且增加 afterPropertiesSet() 方法:

public class HelloWorld implement InitializingBean {
public String msg=null;
public Date date=null;

public void afterPropertiesSet() {
msg=”向全世界问好!”;
date=new Date();
}
……
}


那么,当这个Bean的所有属性被Spring的BeanFactory设置完后,会自动调用afterPropertiesSet()方法对Bean进行初始化,于是,配置文件就不用指定 init-method属性了。

init-method 与afterPropertiesSet 都是在初始化bean的时候执行,执行顺序是afterPropertiesSet 先执行,init-method 后执行,afterPropertiesSet 必须实现 InitializingBean接口

三、Bean的调用
有三种方式可以得到Bean并进行调用:
1、使用BeanWrapper
HelloWorld hw=new HelloWorld();
BeanWrapper bw=new BeanWrapperImpl(hw);
bw.setPropertyvalue(“msg”,”HelloWorld”);
system.out.println(bw.getPropertyCalue(“msg”));


2、使用BeanFactory
InputStream is=new FileInputStream(“config.xml”);
XmlBeanFactory factory=new XmlBeanFactory(is);
HelloWorld hw=(HelloWorld) factory.getBean(“HelloWorld”);
system.out.println(hw.getMsg());


3、使用ApplicationConttext
ApplicationContext actx=new FleSystemXmlApplicationContext(“config.xml”);
HelloWorld hw=(HelloWorld) actx.getBean(“HelloWorld”);
System.out.println(hw.getMsg());


四、Bean的销毁
1、使用配置文件中的 destory-method 属性
与初始化属性 init-methods类似,在Bean的类中实现一个撤销Bean的方法,然后在配置文件中通过 destory-method指定,那么当bean销毁时,Spring将自动调用指定的销毁方法。

2、实现 org.springframwork.bean.factory.DisposebleBean接口
如果实现了DisposebleBean接口,那么Spring将自动调用bean中的Destory方法进行销毁,所以,Bean中必须提供Destory方法。
分享到:
评论

相关推荐

    spring bean的生命周期

    Spring Bean的生命周期是Spring框架中的核心概念,它涵盖了Bean从创建到销毁的全过程。了解这一过程对于优化应用程序的性能和管理资源至关重要。在Spring中,Bean的生命周期主要分为以下几个阶段: 1. **初始化阶段...

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

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

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

    Bean的生命周期和作用域是Spring框架中两个非常重要的概念,它们决定了Bean的生命周期和作用域的管理方式。 一、Bean的生命周期 Bean的生命周期是指Bean从创建到销毁的整个过程。这个过程可以分为九个阶段: 1. ...

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

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

    Spring bean生命周期demo

    在Spring框架中,Bean的生命周期是指从创建到销毁的整个过程。这个过程包含了初始化、正常使用以及最终的销毁几个阶段。了解并掌握Spring Bean的生命周期对于优化应用性能和资源管理至关重要。接下来,我们将深入...

    spring bean的生命周期测试代码

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

    Spring Bean生命周期.pdf

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

    Spring的bean生命周期

    Spring框架是Java应用程序开发中的核心组件,其管理Bean的生命周期是其重要特性之一。Bean生命周期的理解对于优化应用性能和理解Spring内部工作原理至关重要。这里我们将深入探讨Spring的Bean生命周期、容器周期以及...

    spring中bean的生命周期详解

    Spring框架是当前Java EE开发中最流行的框架之一,Spring框架中Bean的生命周期是指从创建到销毁的整个过程。在这个过程中,Spring IOC容器对Bean的生命周期进行管理,使得开发者可以在特定的时间点执行指定的任务。...

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

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

    Spring框架系列(8) - Spring IOC实现原理详解之Bean实例化(生命周期,循环依赖等).doc

    本文主要研究 Spring 框架中 Bean 的实例化过程,包括 Bean 的生命周期和循环依赖问题的解决方案。在 Spring 框架中,Bean 的实例化是通过 BeanFactory 中的 getBean 方法来实现的,该方法根据 bean 的名字、Class ...

    Spring管理的Bean的生命周期

    总之,Spring管理的Bean生命周期包括创建、初始化、活跃使用和销毁四个主要阶段,通过各种回调方法、接口和注解,我们可以对Bean的行为进行自定义,以满足不同应用场景的需求。深入理解这些机制,有助于我们更好地...

    Spring Bean生命周期&BeanDefinitions1

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

    Spring Bean 的生命周期

    Spring Bean的生命周期是Spring框架核心概念之一,它涵盖了Bean从创建到销毁的全过程。了解这一过程对于优化应用程序性能和管理对象状态至关重要。本篇将详细阐述Spring Bean生命周期的各个阶段,以及如何记忆和深入...

    spring bean life cycle

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

    深入理解Spring中bean的生命周期介绍

    深入理解Spring中bean的生命周期介绍 Spring框架是Java EE领域中最流行的轻量级框架之一,它提供了一个强大的 bean 容器来管理应用程序中的各个组件。其中,bean 的生命周期是Spring框架中一个非常重要的概念,它...

    详解Java的Spring框架中bean的定义以及生命周期

    总的来说,理解并掌握Spring框架中Bean的定义和生命周期对于Java Web开发至关重要。它不仅涉及到Bean的创建、初始化和销毁,还涉及到Bean间的依赖注入、生命周期管理以及各种扩展机制,这些都是构建可维护、可扩展的...

    Spring Bean 的生命周期.docx

    这两个后处理器接口提供了灵活的扩展点,允许开发者在Bean生命周期的关键点进行自定义操作。 ApplicationContext是BeanFactory的升级版,提供了更丰富的功能,包括事件发布、国际化等。在ApplicationContext中,...

    深入了解Spring中Bean的作用域和生命周期

    在 Spring 框架中,Bean 的作用域和生命周期是两个非常重要的概念,它们决定了 Bean 的实例化和生命周期。了解 Spring 中 Bean 的作用域和生命周期是非常重要的,这将有助于开发者更好地使用 Spring 框架。 Bean 的...

Global site tag (gtag.js) - Google Analytics