Spring-管理Bean 使用BeanWrapper管理Bean

来源:互联网 发布:淘宝店铺分店 编辑:程序博客网 时间:2024/05/22 05:07
使用BeanWrapper管理Bean
1.修改Bean,增加一个无参数的构造函数
2.配置文件基本不需要改变
3.修改测试代码


Bean如下所示:

package com.gc.action;import java.util.Date;public class HelloWorld //implements InitializingBean,DisposableBean{private String msg=null;//该变量用来存储字符串private Date date=null;//该变量用来存储日期    public HelloWorld(){        }//设定变量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.context.ApplicationContext;import org.springframework.context.support.AbstractApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import org.springframework.context.support.FileSystemXmlApplicationContext;import com.gc.action.HelloWorld;public class TestHelloWorld {    public static void main(String[] args) throws InstantiationException, IllegalAccessException, ClassNotFoundException    {    //通过Class.forName()方法获取类HelloWorld的一个实例    Object obj=Class.forName("com.gc.action.HelloWorld").newInstance();        //通过BeanWrapper来设定类HelloWorld的属性    BeanWrapper bw=new BeanWrapperImpl(obj);        //根据类变量设定变量的值    bw.setPropertyValue("msg","HelloWorld");    bw.setPropertyValue("date",new Date());            System.out.println(bw.getPropertyValue("date")+" "+bw.getPropertyValue("msg")+"------");    }}



输出:

Tue Mar 20 19:29:35 CST 2012 HelloWorld------


原创粉丝点击