- 浏览: 22332 次
- 性别:
- 来自: 北京
文章分类
最新评论
(本文为自己书写,如有错误,请指正,大家共同进步,谢谢。)
Bean的销毁:
1.destroy-method属性;
<java 代码>
package com.deciphering;
import org.springframework.context.support.AbstractApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class SimpleBean {
private static final String DEFAULT_NAME = "Mark";
private static final String DE_AGE = "20";
//添加setter getter方法
private String age = "0";
private String name;
public String getAge() {
return age;
}
public void setAge(String age) {
System.out.println("spring依赖注入。。");
this.age = age;
System.out.println("age" + this.age);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public SimpleBean(){
System.out.println("spring实例化bean。。。。");
}
//清理资源并回收
public void close(){
System.out.println("调用close()...");
}
public String toString(){
return name +"name\n" + age +"age\n";
}
//运行测试main的方法
public static void main(String[]args){
AbstractApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
context.getBean("simpleBean");//获取simpleBean实例
context.registerShutdownHook();//为spring注册关闭钩子
System.out.println("关闭。。。");
}
}
<.xml配置(局部)>
<bean name="simpleBean" class="com.deciphering.SimpleBean" destroy-method="close">
<property name="name" value="Bill"></property>
<property name="age" value="20"></property>
</bean>
<运行结果>
/*spring实例化bean。。。。
*spring依赖注入。。
*age20
*关闭。。。
*调用close()...
*/
2.DisposableBean接口;
package com.deciphering;
import org.springframework.beans.factory.DisposableBean;
import org.springframework.context.support.AbstractApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class SimpleBean implements DisposableBean{
private static final String DEFAULT_NAME = "Mark";
private static final String DE_AGE = "20";
//添加setter getter方法
private String age = "0";
private String name;
public String getAge() {
return age;
}
public void setAge(String age) {
System.out.println("spring依赖注入。。");
this.age = age;
System.out.println("age" + this.age);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public SimpleBean(){
System.out.println("spring实例化bean。。。。");
}
public String toString(){
return name +"name\n" + age +"age\n";
}
//运行测试main的方法
public static void main(String[]args){
AbstractApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
context.getBean("simpleBean");//获取simpleBean实例
context.registerShutdownHook();//为spring注册关闭钩子
System.out.println("关闭。。。");
}
public void destroy() throws Exception{
System.out.println("代用close()。。。。");
}
}
<.xml(局部)>
<bean name="simpleBean" class="com.deciphering.SimpleBean" >
<property name="name" value="Bill"></property>
<property name="age" value="20"></property>
</bean>
<运行结果>
/*
* spring实例化bean。。。。
spring依赖注入。。
age20
关闭。。。
代用close()。。。。
*/
Bean的销毁:
1.destroy-method属性;
<java 代码>
package com.deciphering;
import org.springframework.context.support.AbstractApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class SimpleBean {
private static final String DEFAULT_NAME = "Mark";
private static final String DE_AGE = "20";
//添加setter getter方法
private String age = "0";
private String name;
public String getAge() {
return age;
}
public void setAge(String age) {
System.out.println("spring依赖注入。。");
this.age = age;
System.out.println("age" + this.age);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public SimpleBean(){
System.out.println("spring实例化bean。。。。");
}
//清理资源并回收
public void close(){
System.out.println("调用close()...");
}
public String toString(){
return name +"name\n" + age +"age\n";
}
//运行测试main的方法
public static void main(String[]args){
AbstractApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
context.getBean("simpleBean");//获取simpleBean实例
context.registerShutdownHook();//为spring注册关闭钩子
System.out.println("关闭。。。");
}
}
<.xml配置(局部)>
<bean name="simpleBean" class="com.deciphering.SimpleBean" destroy-method="close">
<property name="name" value="Bill"></property>
<property name="age" value="20"></property>
</bean>
<运行结果>
/*spring实例化bean。。。。
*spring依赖注入。。
*age20
*关闭。。。
*调用close()...
*/
2.DisposableBean接口;
package com.deciphering;
import org.springframework.beans.factory.DisposableBean;
import org.springframework.context.support.AbstractApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class SimpleBean implements DisposableBean{
private static final String DEFAULT_NAME = "Mark";
private static final String DE_AGE = "20";
//添加setter getter方法
private String age = "0";
private String name;
public String getAge() {
return age;
}
public void setAge(String age) {
System.out.println("spring依赖注入。。");
this.age = age;
System.out.println("age" + this.age);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public SimpleBean(){
System.out.println("spring实例化bean。。。。");
}
public String toString(){
return name +"name\n" + age +"age\n";
}
//运行测试main的方法
public static void main(String[]args){
AbstractApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
context.getBean("simpleBean");//获取simpleBean实例
context.registerShutdownHook();//为spring注册关闭钩子
System.out.println("关闭。。。");
}
public void destroy() throws Exception{
System.out.println("代用close()。。。。");
}
}
<.xml(局部)>
<bean name="simpleBean" class="com.deciphering.SimpleBean" >
<property name="name" value="Bill"></property>
<property name="age" value="20"></property>
</bean>
<运行结果>
/*
* spring实例化bean。。。。
spring依赖注入。。
age20
关闭。。。
代用close()。。。。
*/
发表评论
-
jdk tomcat 环境变量配置
2015-07-09 21:32 446Win7 下如何配置java环境变量 1。准备jdk包,wi ... -
页面有两个frame,怎样点击一个的链接改变另一个的内容
2015-04-07 13:58 1474<a src="地址" targe ... -
java代码怎么实现分页?求指教!!
2015-03-31 14:22 42Java实现分页源码及其思想 -
javaScript (1)
2015-03-24 17:19 586JavaScript 1、运算符 运算符就是完成操作的一 ... -
MyEclipse里部分习惯的更改
2015-03-20 17:30 523继续补充中---------------------- ... -
javaSE javaEE javaME == API下载
2015-03-20 14:06 837oracle下载各种API文档: http://www.ora ... -
spring------>>cvc-elt.1: Cannot find the declaration of element
2015-03-18 16:49 532将-------- <?xml version=&qu ... -
log4j
2015-03-18 16:14 389链接: http://www.blogjava.net/ ... -
PowerDesigner使用教程
2015-03-17 17:09 466链接跳转: http://www.cnblogs.com/la ... -
js乱码
2015-03-17 15:43 460检查你js文件的编码格式(简单的办法就是在dreamweave ... -
hibernate三种 状态
2015-03-16 21:49 476Transient:(瞬时状态)内存中一个对象,没有相对应 的 ... -
ssh整合所需lib包目录
2015-03-16 11:44 580转载于:http://blog.csdn.ne ... -
tried to access field org.slf4j.impl.StaticLoggerBinder.SINGLETON from class
2015-03-13 16:05 764这个问题的出现是由于slf4j-log4j12 jar的变化, ... -
< could not insert: [com.hibernate.*.* >
2015-03-11 09:42 523hibernate.cfg.xml文件配置: <!- ... -
SSH 错误 信息收集
2015-03-06 16:47 706(文章为转载收集整理。。。。。若有不足请指正!!!谢谢。) ... -
log4j
2015-03-05 11:20 467### 设置org.zblog域对应的级别INFO,DEBUG ... -
B/S C/S
2015-03-05 09:27 526<!--文章改写--> C/S结构,即Clie ... -
Swing和AWT
2015-03-05 09:24 527原文出:http://cherry007.iteye.com/ ... -
错误整理。。。。
2015-03-04 17:28 446文件内容截取自:http://www.cnblogs.com/ ... -
MyEclipse 快捷键
2015-03-04 10:51 470MyEclipse 快捷键 自己设置myeclipse快捷键指 ...
相关推荐
SPRING BEAN的销毁 项目文件(ECLIPSE)。 之前各种测试,一直有问题。后来明白,容器啊!容器啊!!!!!容器灰常重要,使用容器促使BEAN的生命周期。 想了两天,这个问题,SPRING从入门到精通这本书真没处理好...
Spring Bean的初始化和销毁是Spring框架中一个非常重要的概念,它们都是Bean生命周期中不可或缺的一部分。在Spring框架中,我们可以使用多种方式来控制Bean的初始化和销毁,以下就Spring Bean的初始化和销毁进行详细...
我们还可以在XML配置中定义Bean的初始化方法(`init-method`)和销毁方法(`destroy-method`),Spring容器会在适当的时间调用这些方法。 9. **Spring容器的启动与Bean的生命周期**: 一旦XML配置加载到Spring...
在Spring中,Bean通常代表应用程序中的一个对象,这些对象由Spring容器(ApplicationContext)管理,包括创建、初始化、装配和销毁。Bean可以通过XML配置文件、注解或者Java配置类进行定义。 1. **Bean的定义**:在...
Spring中Bean的生命周期和作用域及实现方式 Spring是一个非常流行的Java应用程序框架,它提供了一个灵活的机制来管理Bean的生命周期和作用域。Bean的生命周期和作用域是Spring框架中两个非常重要的概念,它们决定了...
整个流程中,Spring不仅创建了Bean,还管理了Bean的生命周期,包括依赖注入、初始化和销毁等。这种自动化管理使得开发者可以专注于业务逻辑,而不用关心对象的创建和管理细节。Spring的IoC容器使得应用更加灵活和...
- **XML配置**:在传统的Spring应用中,Bean的定义通常写在XML配置文件中,如`springbean-xml`中的配置。 - **注解配置**:使用`@Component`,`@Service`,`@Repository`和`@Controller`注解标记类,配合`@...
- `destroy-method`属性:与`init-method`类似,此处指定的方法会在Bean销毁前执行。 接下来,我们讨论Spring中Bean的几种作用域: 1. **单例(Singleton)**:这是默认的作用域,Spring容器只会创建一个Bean实例...
5. **销毁回调**:当Spring容器关闭时,或Bean定义中设置了`destroy-method`,Spring会调用Bean的销毁方法。同样,实现`DisposableBean`接口的Bean会调用`destroy()`方法。 接下来,我们看看ApplicationContext的...
在Spring框架中,Bean的加载顺序是一个重要的概念,它涉及到Spring容器如何管理和初始化Bean的过程。在"spring的bean加载顺序样例项目"中,我们可以通过分析和实验来深入理解这一主题。下面将详细阐述Spring Bean的...
在Spring框架中,Bean是核心概念,它是Spring管理的对象,通常代表了应用程序中的业务对象或服务。本示例将深入探讨如何在Spring中创建和管理Bean。首先,我们需要理解Spring的IoC(Inversion of Control,控制反转...
Spring中bean的作用域详解 Spring 中 bean 的作用域是指 Spring IoC 容器中 bean 的生命周期和实例化方式。bean 的作用域决定了 bean 的实例化和生命周期的管理方式。在 Spring 中,bean 的作用域可以分为五种:...
在Spring框架中,Bean的生命周期管理是其核心特性之一,然而有时我们可能会遇到Spring Bean重复执行两次的问题,即实例被构造两次。这个问题可能是由多种原因引起的,涉及到Spring的初始化过程和容器的行为。以下是...
在Spring框架中,管理Bean的生命周期是至关重要的。Bean的生命周期包括初始化、正常运行以及销毁三个阶段。在这些阶段,Spring允许开发者定义自定义的行为,以便在特定时刻执行必要的操作。下面将详细介绍如何通过...
7. **@PreDestroy注解**:与`@PostConstruct`相对,`@PreDestroy`标记的方法在Bean销毁前调用。这个过程发生在Spring容器关闭时。 8. **Singleton和Prototype范围**:Singleton Bean在容器启动时只实例化一次,而...
- **destroy-method属性**:指定Bean销毁方法,用于清理资源。 - **factory-bean/factory-method属性**:通过工厂方法创建Bean。`factory-bean`属性指向工厂Bean,而`factory-method`属性指定工厂方法。 - **...
在Spring中,Bean的管理包含多个方面:创建Bean实例、配置Bean属性、控制Bean的生命周期以及Bean作用域的定义。接下来将详细解释这些知识点。 1. Spring的工厂类: Spring通过工厂模式设计了一系列工厂类来创建对象...
在Spring框架中,容器是管理Bean生命周期的核心组件。它负责创建Bean、初始化Bean、装配Bean以及销毁Bean。本文将深入探讨如何在Spring容器初始化Bean和销毁Bean前后执行自定义的操作,以便于进行日志记录、资源清理...
在Spring框架中,Bean是核心概念,它代表了应用程序中的对象。这些对象通过Spring的依赖注入(Dependency Injection,DI)机制来管理和协调。本篇文章将深入探讨Spring中与Bean相关的接口,以及它们如何帮助我们更好...
1. **Bean销毁方法**:通过`destroy-method`属性指定Bean销毁前需调用的方法,可以自定义也可以是`DisposableBean`接口提供的默认方法。 2. **依赖注入**:Spring通过`ref`属性实现Bean之间的依赖注入,简化代码并...