Spring-管理Bean 使用BeanWrapper管理Bean

使用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------


你可能感兴趣的:(bean,Date,String,测试,Class,encoding)