使用BeanWrapper管理Bean
1.修改Bean,增加一个无参数的构造函数
2.配置文件基本不需要改变
3.修改测试代码
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------