📄 beanwrappertest.java
字号:
/*******************************************************************
<br>Copyright (C), 2004-2006, yeeku.H.Lee
<br>Program Name:
<br>Author:yeeku.H.lee kongyeeku@163.com
<br>Version:1.0
<br>This program is protected by copyright laws.
<br>Date:
*******************************************************************/
package lee;
import org.springframework.beans.BeanWrapper;
import org.springframework.beans.BeanWrapperImpl;
import org.springframework.beans.PropertyValue;
/**
BeanWrapper是个接口,该接口有个实现BeanWrapperImpl
BeanWrapper提供了对属性的设置和读取(单个或批量)
BeanWrapper可以获得属性描述,查询只读或者可写属性
BeanWrapper还支持嵌套属性,可以不限制深度地对子属性进行设置
BeanWrapper支持对索引属性进行设置
BeanWrapper用来封装bean的行为,如基本的设置,获得Bean的属性值
大部分情况下,不要在应用程序中使用BeanWrapper,而应该使用DataBinder或BeanFactory
*/
public class BeanWrapperTest
{
public static void main(String[] args)
{
Company c = new Company();
BeanWrapper bwComp = new BeanWrapperImpl(c);
//设置公司名
bwComp.setPropertyValue("name", "新东方教育集团");
System.out.println("当前公司名为 " + c.getName());
System.out.println("当前公司名为 " + bwComp.getPropertyValue("name"));
//也可以按如下方法来设置
PropertyValue v = new PropertyValue("name", "广州新东方IT培训中心");
bwComp.setPropertyValue(v);
System.out.println("当前公司名为 " + c.getName());
System.out.println("当前公司名为 " + bwComp.getPropertyValue("name"));
//为公司设置技术总监
Employee em = new Employee();
BeanWrapper bwEm = new BeanWrapperImpl(em);
bwEm.setPropertyValue("name", "Scott Tiger");
bwComp.setPropertyValue("managingDirector", em);
System.out.println("公司总监的名字为: " + em.getName());
em.setSalary(3000000);
//通过公司获取总监的工资
Float salary = (Float)bwComp.getPropertyValue("managingDirector.salary");
System.out.println("公司总监的工资为:" + salary);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -