`
在水伊方
  • 浏览: 110988 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

Spring指定Bean的初始化方法和销毁方法

 
阅读更多
package cn.itcast.service;

public interface PersonService {
	public void save();
}

 

package cn.itcast.service.impl;

import cn.itcast.service.PersonService;

public class PersonServiceBean implements PersonService {
	public void init() {
		System.out.println("初始化");
	}

	public PersonServiceBean() {
		System.out.println("我被实例化了");
	}

	public void save() {
		System.out.println("我是save()方法");
	}

	public void destory() {
		System.out.println("关闭打开的资源");
	}
}

 

 

package junit.test;

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

import cn.itcast.service.PersonService;

public class SpringTest {
	@Test public void instanceSpring(){
		AbstractApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");
		//当lazy-init="true"时控制台没有任何信息,需要打开下面的注释
		//当lazy-init="false"时控制台打印    我被实例化了     初始化      关闭打开的资源
		//PersonService personService = (PersonService)ctx.getBean("personService");
		//personService.save();
		ctx.close();		
	}
}

 

<?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.5.xsd">
    <!-- lazy-init参数为true时只有第一次获取bean会才初始化bean -->
	<bean id="personService" class="cn.itcast.service.impl.PersonServiceBean"
		lazy-init="true" init-method="init" destroy-method="destory">
	</bean>
</beans>

 

分享到:
评论
2 楼 在水伊方 2013-02-21  
dreampower 写道
itcast  chuanzhi boke,啊哈哈

是啊 哈哈
1 楼 dreampower 2013-01-07  
itcast  chuanzhi boke,啊哈哈

相关推荐

    Spring Bean的初始化和销毁实例详解

    Spring Bean的初始化和销毁实例详解 Spring Bean的初始化和销毁是Spring框架中一个非常重要的概念,它们都是Bean生命周期中不可或缺的一部分。在Spring框架中,我们可以使用多种方式来控制Bean的初始化和销毁,以下...

    Spring Bean创建初始化流程.docx

    9. **Bean初始化**: 最后,`initializeBean(beanName, exposedObject, mbd)`对创建好的Bean进行初始化,包括调用初始化方法(如果有`@PostConstruct`注解的方法),以及执行AOP代理等操作。 整个流程中,Spring...

    Spring bean初始化及销毁你必须要掌握的回调方法.docx

    下面将详细介绍如何通过不同方式定义Spring Bean的初始化和销毁回调方法。 **初始化回调方法** 1. **@PostConstruct注解** 这个Java标准注解用于标记一个方法,该方法将在对象完全构造后但在业务逻辑执行前被调用...

    spring容器初始化bean和销毁bean之前进行一些操作的方法

    此外,Spring提供了BeanPostProcessor接口,允许我们在Bean初始化前后进行自定义处理。通过实现`postProcessBeforeInitialization()`和`postProcessAfterInitialization()`方法,可以在Bean实例化和初始化之后进行...

    Spring实例化Bean顺序

    6. **@PostConstruct注解**:标记在方法上的`@PostConstruct`注解表示该方法应在Bean完全初始化后立即调用。Spring将这些方法的调用顺序与Bean的实例化顺序一致。 7. **@PreDestroy注解**:与`@PostConstruct`相对...

    Spring初始化和销毁的实现方法

    在 Spring 中,我们可以使用 @Bean 注解来指定 Bean 的初始化和销毁方法。例如: ```java @Bean(initMethod="init",destroyMethod="destroy") public Car car(){ return new Car(); } ``` 在上面的代码中,我们...

    spring bean XML配置入门

    我们还可以在XML配置中定义Bean的初始化方法(`init-method`)和销毁方法(`destroy-method`),Spring容器会在适当的时间调用这些方法。 9. **Spring容器的启动与Bean的生命周期**: 一旦XML配置加载到Spring...

    Spring Bean初始化及销毁多种实现方式

    我们可以在配置文件中指定初始化和销毁方法,例如: ```xml &lt;bean id="demoService" class="com.dubbo.example.provider.DemoServiceImpl" destroy-method="close" init-method="initMethod"/&gt; ``` 或者,我们也...

    Spring Bean重复执行两次(实例被构造两次)问题分析

    3. **@PostConstruct与初始化回调**:Spring允许我们在Bean初始化后执行特定代码,通常通过`@PostConstruct`注解的方法来实现。如果这个方法被意外地调用了两次,那么Bean也会被构造两次。检查是否有多处调用或配置...

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

    在整个生命周期中,Spring提供了多种方式来实现Bean的初始化,例如使用init-method参数、InitializingBean接口等。 二、Bean的作用域 Bean的作用域是指Bean的生命周期和可用性。Spring框架提供了多种作用域,例如 ...

    spring bean的生命周期

    - **初始化回调**:Spring支持两种类型的初始化回调方法,即`@PostConstruct`注解的方法和在XML中定义的`init-method`属性指定的方法。 2. **容器管理的生命周期回调** - **Singleton Beans的懒加载**:如果Bean...

    Spring Bean生命周期.pdf

    - InitializingBean:对应初始化阶段,它提供了afterPropertiesSet方法供开发者实现Bean初始化逻辑。 - DisposableBean:对应销毁阶段,它提供了destroy方法供开发者实现Bean销毁逻辑。 整个Spring Bean的生命...

    spring的bean加载顺序样例项目

    - **初始化方法**:Spring会调用Bean定义中的初始化方法,如`init-method`属性指定的方法或带有`@PostConstruct`注解的方法。 4. **Bean的排序策略** - 如果Bean定义了`@Order`注解或`priority`属性,Spring会...

    spring bean life cycle

    通过实现`postProcessBeforeInitialization()`和`postProcessAfterInitialization()`方法,可以在Bean初始化前后进行额外的操作。 在Spring容器中,Bean的生命周期管理也支持通过`BeanDefinition`进行定制。例如,...

    Spring Bean 加载顺序 .

    7. **Bean初始化**: 实例化完成后,Spring会执行Bean的初始化方法,包括调用`@PostConstruct`注解的方法。同时,如果Bean实现了InitializingBean接口,其`afterPropertiesSet()`方法也会被调用。 8. **初始化后...

    Spring 源码分析(Bean的初始化)

    总结起来,Spring的Bean初始化是一个复杂而精细的过程,涉及XML解析、BeanDefinition的构建、依赖注入、初始化回调、AOP代理等多个环节。通过深入理解这一过程,开发者能更好地掌握Spring框架的工作原理,从而更高效...

    Spring bean生命周期demo

    在这个例子中,`AppConfig`配置了一个名为`myBean`的Bean,并指定了初始化和销毁方法。`MyBean`实现了`InitializingBean`和`DisposableBean`接口,以及自定义的初始化和销毁方法,以便在生命周期的不同阶段执行特定...

    spring中的bean

    在Spring中,Bean通常代表应用程序中的一个对象,这些对象由Spring容器(ApplicationContext)管理,包括创建、初始化、装配和销毁。Bean可以通过XML配置文件、注解或者Java配置类进行定义。 1. **Bean的定义**:在...

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

    在Spring框架中,Bean的生命周期管理和作用域是其核心特性之一,它们对于理解Spring如何管理对象的创建、初始化、使用以及销毁至关重要。首先,我们来深入探讨Bean的生命周期。 Spring中的Bean生命周期主要分为两个...

Global site tag (gtag.js) - Google Analytics