java反射之二,使用java自带的jar实现
2015-11-27 09:25
441 查看
在JavaBean中,有时候我们希望给实体类动态给值,而非挨个使用大量代码进行set,get,这样的方式很占用程序开发的时间,所以java的开发jar中有了这样的一个jar commons-beanutils这个jar,这个jar正好可以满足我们需求
即JavaBean的反射
即JavaBean的反射
package com.shtoone.qms.util; import java.beans.PropertyDescriptor; import org.apache.commons.beanutils.PropertyUtils; import org.jeecgframework.core.util.StringUtil; import com.shtoone.qms.entity.bhz.XiangxixxEntity; public class PropertyDescriptorUtil { public static void main(String[] args) { //测试JavaBean的反射机制 XiangxixxEntity xiangxixx=new XiangxixxEntity(); //xiangxixx.setBaocunshijian("2013-12-09"); xiangxixx.setFeimeihui4Lilunzhi("123.34456"); Object obj=xiangxixx; PropertyDescriptor origDescriptors[] = PropertyUtils.getPropertyDescriptors(obj); String aliasName, name, type; for (int i = 0; i < origDescriptors.length; i++) { try{ //这里通过三元运算符 aliasName = ("".equals("") ? "" : "" + ".")+ origDescriptors[i].getName(); // System.out.println("字段名:"+origDescriptors[i].getName()+"\t字段类型:"+origDescriptors[i].getPropertyType().toString()+"\t"+aliasName); //判断JavaBean中属性值是否为只读的,即没有get方法 // System.out.println(PropertyUtils.isReadable(obj, origDescriptors[i].getName())); // if(StringUtil.isNotEmpty(PropertyUtils.getSimpleProperty(obj, origDescriptors[i].getName()))){ if(origDescriptors[i].getPropertyType().toString().contains("class java.lang") || origDescriptors[i].getPropertyType().toString().contains("class java.math")){ System.out.println("value:"+String.format("%1$.2f", Double.parseDouble(PropertyUtils.getSimpleProperty(obj, origDescriptors[i].getName()).toString()))); } } // System.out.println("---------"); // System.out.println("value22:"+PropertyUtils.getProperty(obj, origDescriptors[i].getName())); }catch(Exception ex){} } } }
相关文章推荐
- Java基础之程序
- mybatis+spring 事务管理
- Eclipse启动时发生An internal error occurred during: "Initializing Java Tooling".错误的解决
- 【Java EE (Struts2 + Spring + Hibernate)开发】:Struts2(二)之【类型转换】
- Java中OutOfMemoryError(内存溢出)的三种情况及解决办法
- 统计字符串中英文字母、汉字、空格、数字及其他字符出现的字数
- Echarts饼图柱形图调整文字大小(java代码)
- eclipse快捷键的导出导入
- JAVA开发环境安装
- Java编程思想学习心得(二)Java中的对象
- 使用Java生成jpg与压缩图片为jpg文件的代码示例
- JAVA环境配置
- 2015 11 26 java 配置环境变量
- Java中PreparedStatement和Statement的用法区别
- Java编程思想学习心得(一)对象那些事儿
- Spark 跑 java 示例代码
- Struts2学习笔记(一)--------学习工具下载、HelloWorld、运行机制
- 熟悉MyEclipse
- Java Thread Programming -- 目录
- Spring 事务传递教程_有实例