Spring-管理Bean 使用BeanFactory管理Bean

来源:互联网 发布:电机维修数据价格表 编辑:程序博客网 时间:2024/05/22 11:49

Bean:


package com.gc.action;import java.util.Date;import org.springframework.beans.factory.InitializingBean;import org.springframework.beans.factory.DisposableBean;public class HelloWorld //implements InitializingBean,DisposableBean{private String msg=null;//该变量用来存储字符串private Date date=null;//该变量用来存储日期public void afterPropertiesSet() {// TODO Auto-generated method stubthis.msg="HelloWorld";this.date=new Date();System.out.println("2000");}public void cleanup() {// TODO Auto-generated method stubthis.msg="";this.date=null;    System.out.println("您销毁了msg"+this.msg+"和date"+this.date);  }public HelloWorld(String msg){    this.msg=msg;}public HelloWorld()//这个必须写,否则不能转到上面的那个{    this.msg=msg;}//设定变量msg的set方法public void setMsg(String msg) {this.msg=msg;}//获取变量msg的get方法public String getMsg() {return this.msg;}public Date getDate() {return this.date;}public void setDate(Date date) {this.date = date;}}


配置文件:

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN""http://www.springframework.org/dtd/spring-beans.dtd"><beans>    <!--定义一个Bean-->    <bean id="HelloWorld" class="com.gc.action.HelloWorld" init-method="afterPropertiesSet" destroy-method="cleanup">    <!--将其变量msg通过依赖注入-->         </bean>    </beans>


测试程序:

package com.gc.test;import java.util.Date;import org.springframework.beans.BeanWrapper;import org.springframework.beans.BeanWrapperImpl;import org.springframework.beans.factory.xml.XmlBeanFactory;import org.springframework.context.ApplicationContext;import org.springframework.context.support.AbstractApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import org.springframework.context.support.FileSystemXmlApplicationContext;import org.springframework.core.io.ClassPathResource;import com.gc.action.HelloWorld;public class TestHelloWorld {    public static void main(String[] args) throws InstantiationException, IllegalAccessException, ClassNotFoundException    {    //通过ClassPathResource获取配置文档    ClassPathResource res=new ClassPathResource("config.xml");        //通过XmlBeanFactory来解析配置翁当    XmlBeanFactory factory=new XmlBeanFactory(res);        //根据id获取Bean    HelloWorld helloWorld=(HelloWorld)factory.getBean("HelloWorld");        //拿出Bean在配置文档中设定的内容    System.out.println(helloWorld.getDate()+" "+helloWorld.getMsg()+"------");    }}





原创粉丝点击