请介绍一下Spring框架中Bean的生命周期
来源:互联网 发布:java ee 在线拍卖系统 编辑:程序博客网 时间:2024/05/21 18:34
一、Bean的定义
Spring通常通过配置文件定义Bean。如:
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”>
HelloWorld
这个配置文件就定义了一个标识为 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属性:
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属性了。
三、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。如:
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”>
HelloWorld
这个配置文件就定义了一个标识为 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属性:
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属性了。
三、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的生命周期
- Spring框架中bean的生命周期
- 【spring框架】bean的生命周期
- Spring框架, bean的生命周期中,初始化和销毁.
- Java后台框架篇--Spring中Bean的生命周期
- Spring中bean的生命周期
- Spring 中 Bean 的生命周期
- Spring 中bean 的生命周期
- Spring中Bean的生命周期
- Spring中bean的生命周期
- Spring中bean的生命周期
- Spring中bean的生命周期
- Spring中Bean的生命周期
- spring中bean的生命周期
- spring中bean的生命周期
- setvbuf的使用
- Tree view
- 夜半
- Android_一些问题的解决办法
- 找实习的过程
- 请介绍一下Spring框架中Bean的生命周期
- 非中文操作系统安装中文软件显示乱码
- C++ Chapter 4. Designs and Declarations
- IE预览添加javaScript代码的本地Html文件后会弹出阻止脚本框问题
- 什么是rest
- linux mail 命令(转载)
- Spring3.0实现REST实例
- unbound checkbox column
- Linux个人学习笔记(编辑中)