第三方类库-Core核心库-Apache Commons Beanutils

原文出处:http://rensanning.iteye.com/blog/1547845


Commons Beanutils是一组专门用于操作Bean的工具类,目前很多流行的框架基本都离不开他。 

版本:commons-beanutils-1.8.3.jar
 

1、获取字段值 

Java代码   收藏代码
  1. SampleBean bean1 = new SampleBean();  
  2. bean1.setName("rensanning");  
  3. bean1.setAge(31);  
  4.   
  5. String name = BeanUtils.getProperty(bean1, "name");  
  6. String age  = BeanUtils.getProperty(bean1, "age");  
  7.   
  8. System.out.println(name);  
  9. System.out.println(age);  


2、设置字段值  
Java代码   收藏代码
  1. SampleBean bean2 = new SampleBean();  
  2. BeanUtils.setProperty(bean2, "name""rensanning");  
  3. BeanUtils.setProperty(bean2, "age"31);  
  4.   
  5. System.out.println(bean2.getName());  
  6. System.out.println(bean2.getAge());  


3、赋值Bean  
Java代码   收藏代码
  1. SampleBean bean3 = new SampleBean();  
  2. bean3.setName("rensanning");  
  3. bean3.setAge(31);  
  4.   
  5. SampleBean clone = (SampleBean) BeanUtils.cloneBean(bean3);  
  6.   
  7. System.out.println(clone.getName());  
  8. System.out.println(clone.getAge());  


4、Bean的describe  
Java代码   收藏代码
  1. SampleBean bean4 = new SampleBean();  
  2. bean4.setName("rensanning");  
  3. bean4.setAge(31);  
  4.   
  5. @SuppressWarnings("unchecked")  
  6. Map<String, String> map4 = BeanUtils.describe(bean4);  
  7.   
  8. System.out.println(map4.get("name"));  
  9. System.out.println(map4.get("age"));  


5、Bean的populate  
Java代码   收藏代码
  1. SampleBean bean5 = new SampleBean();  
  2.   
  3. Map<String, String> map5 = new HashMap<String, String>();  
  4. map5.put("name""rensanning");  
  5. map5.put("age""31");  
  6.   
  7. BeanUtils.populate(bean5, map5);  
  8.   
  9. System.out.println(bean5.getName());  
  10. System.out.println(bean5.getAge());  


6、获取Bean的数组集合字段值  
Java代码   收藏代码
  1. SampleBean bean6 = new SampleBean();  
  2. bean6.setArray(new String[]{"a""b""c"});  
  3. List<String> list0 = new ArrayList<String>();  
  4. list0.add("d");  
  5. list0.add("e");  
  6. list0.add("f");  
  7. bean6.setList(list0);  
  8.   
  9. String[] array = BeanUtils.getArrayProperty(bean6, "array");  
  10.   
  11. System.out.println(array.length);//3  
  12. System.out.println(array[0]);//"a"  
  13. System.out.println(array[1]);//"b"  
  14. System.out.println(array[2]);//"c"  
  15.   
  16. String[] list = BeanUtils.getArrayProperty(bean6, "list");  
  17. System.out.println(list.length);//3  
  18. System.out.println(list[0]);//"d"  
  19. System.out.println(list[1]);//"e"  
  20. System.out.println(list[2]);//"f"  
  21.   
  22. System.out.println(BeanUtils.getProperty(bean6, "array[1]"));//"b"  
  23. System.out.println(BeanUtils.getIndexedProperty(bean6, "array"2));//"c"  


7、获取Bean的Map字段值  
Java代码   收藏代码
  1. SampleBean bean7 = new SampleBean();  
  2. Map<String, String> map = new HashMap<String, String>();  
  3. map.put("key1""value1");  
  4. map.put("key2""value2");  
  5. bean7.setMap(map);  
  6.   
  7. String value1 = BeanUtils.getMappedProperty(bean7, "map""key1");  
  8. System.out.println(value1);//"value1"  
  9.   
  10. String value2 = BeanUtils.getMappedProperty(bean7, "map""key2");  
  11. System.out.println(value2);//"value2"  
  12.   
  13. System.out.println(BeanUtils.getProperty(bean7, "map.key1"));//"value1"  
  14. System.out.println(BeanUtils.getProperty(bean7, "map.key2"));//"value2"  


8、获取Bean的嵌套字段值  
Java代码   收藏代码
  1. SampleBean bean = new SampleBean();  
  2. NestedBean nestedBean = new NestedBean();  
  3. nestedBean.setNestedProperty("xxx");  
  4. bean.setNestedBean(nestedBean);  
  5.   
  6. String value = BeanUtils.getNestedProperty(bean, "nestedBean.nestedProperty");  
  7. System.out.println(value);//"xxx"  
  8.   
  9. System.out.println(BeanUtils.getProperty(bean, "nestedBean.nestedProperty"));//"xxx"  


9、URL字段的特殊处理  
Java代码   收藏代码
  1. SampleBean bean8 = new SampleBean();  
  2.   
  3. BeanUtils.setProperty(bean8, "url""http://www.google.com/");  
  4.   
  5. URL url = bean8.getUrl();  
  6. System.out.println(url.getProtocol());//"http"  
  7. System.out.println(url.getHost());//"www.google.com"  
  8. System.out.println(url.getPath());//"/"  


10、日期的转化  
Java代码   收藏代码
  1. SampleBean bean9 = new SampleBean();  
  2.   
  3. DateConverter converter = new DateConverter();  
  4. converter.setPattern("yyyy/MM/dd HH:mm:ss");  
  5.   
  6. ConvertUtils.register(converter, Date.class);  
  7. ConvertUtils.register(converter, String.class);  
  8.   
  9. BeanUtils.setProperty(bean9, "date""2010/12/19 23:40:00");  
  10.   
  11. String value9 = BeanUtils.getProperty(bean9, "date");  
  12. System.out.println(value9);//"2010/12/19 23:40:00"  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值