1700452730
User user=new User();
1700452731
1700452732
//VO对象
1700452733
1700452734
Person person=new Person();
1700452735
1700452736
//两个Bean属性拷贝
1700452737
1700452738
PropertyUtils.copyProperties(person, user);
1700452739
1700452740
//把Map中的键值对拷贝到Bean上
1700452741
1700452742
Map<String, String>map=new HashMap<String, String>();
1700452743
1700452744
map.put(“name”,“张三”);
1700452745
1700452746
PropertyUtils.copyProperties(person, map);
1700452747
1700452748
动态Bean和自由Bean
1700452749
1700452750
我们知道定义一个Bean必然会需要一个类,比如User、Person等,而且还必须在编译期定义完毕,生成.class文件,虽然Bean是一个有固定格式的数据载体,严格要求确实没错,但在某些时候这限制了Bean的灵活性,比如要在运行期生成一个动态Bean,或者在需要生成无固定格式的Bean时,使用普通Bean就无法实现了。我们可以使用BeanUtils包解决该问题,示例代码如下:
1700452751
1700452752
//动态Bean,首先定义Bean类
1700452753
1700452754
DynaProperty[]props=new DynaProperty[]{
1700452755
1700452756
new DynaProperty(“name”,String.class),
1700452757
1700452758
new DynaProperty(“age”,int.class)};
1700452759
1700452760
BasicDynaClass dynaClass=new BasicDynaClass(“people”,null, props);
1700452761
1700452762
//动态Bean对象
1700452763
1700452764
DynaBean people=dynaClass.newInstance();
1700452765
1700452766
/*people的get/set操作*/
1700452767
1700452768
//自由Bean
1700452769
1700452770
DynaBean user=new LazyDynaBean();
1700452771
1700452772
//直接定义属性和值
1700452773
1700452774
user.set(“name”,“张三”);
1700452775
1700452776
//定义属性名,限定属性类型为Map
1700452777
1700452778
user.set(“phoneNum”,“tel”,“021”);
1700452779
[
上一页 ]
[ :1.70045273e+09 ]
[
下一页 ]