java.bean.PropertyDescriptor及其工具beanutils的学习
2013-12-27 00:15
447 查看
public class ItroSpectorTest extends TestCase { //利用PropertyDescription类的getReadMethod获取javabean的get方法 public void testPropertyDescriptor_Get() throws Exception{ //利用java.beans.PropertyDescriptor获取读属性和设置属性的方法 Student stu = createStu(); //新建一个PropertyDescriptor对象,传入类名和属性名 PropertyDescriptor pd=new PropertyDescriptor("id", stu.getClass()); Method methodGetId=pd.getReadMethod(); Object retVal=methodGetId.invoke(stu); System.out.println("测试PropertyDescription类的getReadMethod方法"+retVal); } //利用PropertyDescription类的getWriteMethod获取javabean的set方法 public void testPropertyDescriptor_Set() throws Exception{ Student stu=createStu(); PropertyDescriptor pd=new PropertyDescriptor("id", stu.getClass()); Method methodSetId=pd.getWriteMethod(); methodSetId.invoke(stu, 2); System.out.println(stu.getId()); } //利用commons-beanutils的类BeanUtils设置javabean对象的属性 public void testBeanUtilsSet() throws Exception{ Student stu=createStu(); //值可以为字符串,内部进行类型转换 BeanUtils.setProperty(stu, "id", "2"); System.out.println(stu.getId()); } //利用commons-beanutils的类BeanUtils获取javabean对象的属性 public void testBeanUtilsGet() throws Exception{ Student stu=createStu(); String retVal=BeanUtils.getProperty(stu, "id"); System.out.println(retVal); } //利用commons-beanutils的类BeanUtils级联获取javabean对象的属性,比如获取Date类型的time值 public void testBeanUtilsGet2() throws Exception{ Student stu=createStu(); String retVal=BeanUtils.getProperty(stu, "birthday.time"); System.out.println(retVal); } //利用commons-beanutils的类PropertyUtils设置javabean对象的属性 public void testPropertyUtilsSet() throws Exception{ Student stu=createStu(); //PropertyUtils.setProperty(stu, "id", "2");//java.lang.IllegalArgumentException: argument type mismatch PropertyUtils.setProperty(stu, "id", 2); System.out.println(stu.getId()); } //利用commons-beanutils的类PropertyUtils获取javabean对象的属性 public void testPropertyUtilsGet() throws Exception{ Student stu=createStu(); PropertyUtils.getProperty(stu, "id"); } //准备测试数据 private Student createStu() { //新建一个Student对象,作为测试对象 Date birth=new Date(); Calendar cal=new GregorianCalendar(1991, 3, 21); birth=cal.getTime(); Student stu=new Student(1,"yyf",birth,22); return stu; } }
相关文章推荐
- Apache Commons BeanUtils包学习(2)-beanutils.PropertyUtils, beanutils.DynaBean
- Java开发工具使用及其快捷键和常见对象+JAVA学习笔记-DAY11
- 使用BeanUtils工具封装javaBean
- Apache Commons BeanUtils包学习(2)-beanutils.PropertyUtils, beanutils.DynaBean
- BeanUtils工具的学习与介绍
- JAVA互联网架构学习之Spring其二数据库连接池及注解配置bean等
- java学习日记_73:Date与String互换的工具类制作
- Java基础学习总结(27)——7 款开源 Java 反编译工具
- Android 开发工具学习之 配置构建路径(configure build path)、更改系统库、添加引用的库(Java和Android)
- Java中Filter、Listener,拦截器的学习,listener、 filter、servlet 加载顺序及其详解
- Axis2学习总结(2)-----通过wsdl2java工具调用第三方服务
- java学习:用反射构造bean
- spring学习总结(五)---Spring基础知识(二:Bean的配置项及其作用域)
- BeanUtils工具 动态bean
- 常见的十四种Java开发工具及其特点
- Hibernate的学习之路十九(一对多的JavaBean编写和映射的配置文件的编写)
- JAVA学习第七课(封装及其思想)
- java基于反射的Map转Bean的工具类
- Java学习笔记-002(环境的搭建及开发工具安装)
- 使用beanUtils操纵javabean