`
javaboys
  • 浏览: 16402 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

Spring2.5 管理的Bean的生命周期

阅读更多
Spring 2.5 Bean 的生命周期


初始化
init-method="指定bean类定义的初始方法"

销毁

destroy-method="指定bean类定义的销毁方法"

bean的实例构造:
bean的实例化如果<bean scope="singleton"/>是默认单例,那么会在Spring容器启动时就实例化,

如果scope非单例,那么会在调用这个bean时才初化,如果想要 scope="singleton"时,调用时再实例化,可以配置延迟实例化属性 lazy-init="true" false 则不延迟实例,

------------------------------------------------------

代码样例:


package test.service;

public interface PersonService {

	public void save();

}


package test.service.impl;

import test.service.PersonService;


public class PersonServiceBean implements PersonService {
	public PersonServiceBean(){
		System.out.println("构造");
	}
	public void init(){
		System.out.println(this.getClass().getName() + "  我被初始化了");
	}
	
	
	
	public void save(){
		System.out.println("sava function");
	}
	
	public void destroy(){
		System.out.println(this.getClass().getName() + "  我被销毁了");
	}
}


package junit.test;

import org.junit.BeforeClass;
import org.junit.Test;
import org.springframework.context.support.AbstractApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import test.service.PersonService;

//测试类
public class SpringTest {

	@BeforeClass
	public static void setUpBeforeClass() throws Exception{
		
	}
	@Test public void instanceSpring(){
		AbstractApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");
		PersonService p = (PersonService) ctx.getBean("personService");//get bean
		p.save();//调用方法
		ctx.close();//关闭spring容器,这里测试destroy属性
	}
	
	
}

//配置文件
<?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="personService" class="test.service.impl.PersonServiceBean" scope="singleton" lazy-init="true" init-method="init" destroy-method="destroy"></bean>

	</beans>

// scope="singleton" bean为单例,这里设置scope默认就是单例
// lazy-init="true" 表明在getBean时才实例化这个bean
// init-method="init" 调用init()方法初始化这个bean 此方法是自定义也可以是其他已有的

// destroy-method="destroy" 调用定义的destroy方法来销毁bean,须调用AbstractApplicationContext下面的close方法,才会执行,
分享到:
评论

相关推荐

    Spring2.5-中文参考手册chm

    **Bean的生命周期管理** Spring管理的Bean有其特定的生命周期,包括初始化、正常使用和销毁。在Spring 2.5中,开发者可以通过实现接口或使用注解来定制Bean的生命周期行为,如初始化方法、销毁方法以及Bean的作用域...

    精通Spring2.5pdf书籍proSpring2.5

    其次,Spring 2.5对AOP的支持也有所加强,新增了对JSR-250注解(如@PostConstruct和@PreDestroy)的内置支持,使得生命周期管理更加简单。同时,增强了切面的定义方式,使得切面可以更加灵活地与业务逻辑结合。 在...

    Spring2.5 源代码

    在源代码中,可以研究这两个接口及其实现,理解它们如何管理bean的生命周期。 5. **数据访问集成**: Spring 2.5强化了对多种数据访问技术的支持,包括JDBC、ORM(Object-Relational Mapping)如Hibernate和...

    spring 2.5框架图

    1. **IoC容器**:在Spring 2.5中,Bean工厂是IoC容器的核心,它负责管理对象的生命周期和依赖关系。开发者可以通过XML配置文件或注解来定义Bean及其依赖,实现组件的解耦。Spring 2.5增强了对注解的支持,使得无需...

    spring 2.5依赖包

    3. **Bean工厂和应用上下文**:Spring 2.5对Bean工厂和应用上下文进行了增强,支持更多的初始化和销毁回调方法,以及更好的生命周期管理。 4. **更多注解支持**:Spring 2.5增加了许多新的注解,如@Service、@...

    spring 2.5中文帮助文档

    3. **Bean容器**:Spring Bean容器(ApplicationContext)负责管理应用中的对象,提供对象的生命周期管理和事件传播功能。在Spring 2.5中,容器支持更多的XML配置选项和基于注解的配置。 4. **注解支持**:在Spring...

    struts1.2 + spring2.5 + hibernate3.2框架demo

    其次,Spring2.5框架的依赖注入(DI)特性允许开发者解耦组件,通过容器管理对象的生命周期和依赖关系。同时,Spring的AOP模块支持切面编程,可以实现事务管理、日志记录等功能。在Struts1.2和Hibernate3.2集成中,...

    struts2.1+spring2.5+hibernate3.3整合之第一步(spring2.5+hibernate3.3)

    Spring2.5是全面的企业级应用框架,它不仅包含IoC(Inversion of Control,控制反转)容器,用于管理对象的生命周期和依赖关系,还提供了AOP(Aspect-Oriented Programming,面向切面编程)功能,实现了对横切关注点...

    传智播客spring2.5源代码

    4. **JSR-250规范支持**:Spring 2.5引入了对JSR-250标准的支持,如`@PostConstruct`和`@PreDestroy`注解,它们分别标记初始化和销毁方法,使得生命周期管理更加规范。 5. **Bean工厂的增强**:Spring 2.5提供了一...

    spring2.5常用包

    1. **IoC(Inversion of Control)容器**:Spring 的核心特性是依赖注入(Dependency Injection,DI),通过 IoC 容器来管理对象的生命周期和对象之间的依赖关系。IoC 容器通过 XML 配置文件或注解(如 @Autowired)...

    Spring2.5

    三、Bean的生命周期管理 在Spring 2.5中,Bean的生命周期包括实例化、初始化、正常使用以及销毁四个阶段。开发者可以通过实现接口或使用特定注解来定制Bean的生命周期行为。例如,可以使用`@PostConstruct`和`@...

    Spring2.5中文手册

    7. **Bean的生命周期管理** - Spring管理的Bean有创建、初始化、配置、销毁等生命周期阶段,开发者可以通过实现接口或使用注解自定义生命周期行为。 - 2.5版本对生命周期回调方法进行了优化,增加了更多的回调接口...

    spring2.5 Bean

    这些注解可以用来标记初始化和销毁方法,分别在Bean被创建后和销毁前执行,增强了对Bean生命周期的控制。 4. **AOP(面向切面编程)**:Spring 2.5继续提供对AOP的支持,允许开发者定义切面来封装横切关注点,如...

    spring2.5中文文档(PDF)

    9. **容器改进**:Spring 2.5的容器性能有所提升,启动速度更快,同时提供了更多的生命周期回调方法,让开发者更好地控制bean的初始化和销毁过程。 通过阅读《Spring 2.5中文文档》,开发者可以全面了解这些特性,...

    传智播客 黎活明spring2.5 ppt

    3. **Bean的生命周期管理**:Spring管理Bean的创建、初始化、使用和销毁。在2.5版本中,可以使用`@PostConstruct`和`@PreDestroy`注解来标记初始化和销毁方法。此外,还支持基于XML和注解的bean定义,以及基于接口的...

    Spring2.5-Reference_zh_CN.txt

    - **Bean生命周期管理**:Spring框架提供了对Bean生命周期的精细控制,如初始化方法、销毁方法等。 - **依赖查找**:Spring支持通过ID或类型等方式查找依赖对象。 #### 四、配置管理 - **XML配置**:Spring最早支持...

    Spring2.5-中文参考手册(这是个chm格式的文档)

    2. **Bean容器**:Spring 2.5的Bean容器(ApplicationContext)负责创建、管理Bean,并处理它们的生命周期。开发者可以通过XML配置文件或注解来定义Bean及其属性,容器会自动管理Bean的实例化、初始化、销毁等过程。...

    spring2.5源码

    3. **Bean生命周期管理**:Spring管理bean的生命周期,包括初始化、销毁方法以及各种生命周期回调。在2.5版本中,可以通过`@PostConstruct`和`@PreDestroy`注解来指定这些方法。 4. **资源管理**:Spring 2.5引入了...

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

    本文将详细介绍 Spring Bean 生命周期的概念、生命周期图、生命周期阶段、生命周期管理方式等相关知识点。 一、 Spring Bean 生命周期概述 Spring Bean 生命周期是指 Spring 容器中 Bean 的创建、初始化、销毁等...

    Spring2.5.rar

    3.Bean管理:Spring管理Bean的生命周期,包括实例化、初始化、配置、销毁等过程,提供了一种统一的方式来创建和管理对象。 二、主要改进 1.注解驱动的配置:Spring 2.5引入了更多的注解,如@Service、@Repository...

Global site tag (gtag.js) - Google Analytics