- 浏览: 120207 次
- 性别:
文章分类
- 全部博客 (86)
- struts2 (1)
- tomcat (5)
- Oracle (12)
- Oracle基础 (10)
- Oracle-IMP (1)
- Oracle-FUNCTION (1)
- java-基础 (21)
- java-术语 (1)
- java-Error (1)
- java-Exception (2)
- java-数据库连接池 (1)
- java-excel-txt (1)
- js-字符串 (1)
- js-基础 (3)
- Python (1)
- Access-基础 (1)
- Often-English (1)
- java-版本控制 (5)
- 报表-IReport (2)
- Mysql (4)
- Java IDE (5)
- Shrio (1)
- SpringMVC (1)
最新评论
import java.beans.BeanInfo; import java.beans.IntrospectionException; import java.beans.Introspector; import java.beans.PropertyDescriptor; import java.lang.reflect.Method; import java.util.HashMap; import java.util.Map; /** * 反射工具类 * 利用反射 get set 属性值 * bean <--> map * */ public class BeanReflectUtil { /** * get属性的值到Map * @param bean * @param valMap */ public static Map<Object, Object> getFieldValueMap(Object bean) { Map<Object, Object> valueMap = new HashMap<Object, Object>(); PropertyDescriptor[] props = getPropertyDescriptors(bean); for(PropertyDescriptor p:props){ Method getter = p.getReadMethod(); if(!"class".equals(p.getName())){ try { valueMap.put(p.getName(), getter.invoke(bean)); } catch (Exception e) { continue; } } } return valueMap; } /** * set属性的值到Bean * @param bean * @param valMap */ public static void setFieldValue(Object bean, Map<Object, Object> valMap) { PropertyDescriptor[] props = getPropertyDescriptors(bean); for(PropertyDescriptor p:props){ Method setter = p.getWriteMethod(); try { setter.invoke(bean,valMap.get(p.getName())); } catch (Exception e) { continue; } } } private static PropertyDescriptor[] getPropertyDescriptors(Object bean){ Class<?> cls = bean.getClass(); BeanInfo beanInfo = null; try { beanInfo = Introspector.getBeanInfo(cls); } catch (IntrospectionException e) { e.printStackTrace(); } return beanInfo.getPropertyDescriptors(); } public static void main(String[] args) { Test test = new Test(); Test sunTest = new Test(); sunTest.setId(2); Map<Object,Object> valMap =new HashMap<Object, Object>(); valMap.put("id", 1); valMap.put("nameTest", "nameTest1"); valMap.put("test", sunTest); valMap.put("name", "name1"); BeanReflectUtil.setFieldValue(test, valMap); valMap = BeanReflectUtil.getFieldValueMap(test); for(Object obj:valMap.keySet()){ System.out.println(obj + " ------ "+ valMap.get(obj)); } } } /** * 测试类 * @author user */ class Test{ private int id; //常规测试 private String namemethod; //测试用get方法后的名称 private String nameTest; //测试名称规范 private Test test; //测试对象 public String getName() { return namemethod; } public void setName(String name) { System.out.println("method: setName(String name)"); this.namemethod = name; } /** * 测试set时候执行那个方法、是否同时执行 */ public void setName(int name) { System.out.println("method: setName(int name)"); } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getNameTest() { return nameTest; } public void setNameTest(String nameTest) { this.nameTest = nameTest; } public Test getTest() { return test; } public void setTest(Test test) { this.test = test; } public String toString() { return "id:"+id+" name:"+namemethod; } }
不对之处,恳请指出。
--------------------------------------------------------------------------
交流群:81552084
--------------------------------------------------------------------------
发表评论
-
判断字符串包含的数量
2014-03-18 15:02 1526方法一: String str = "12312 ... -
POJO中使用int 还是 Integer??
2012-10-09 09:46 0我的选择是包装类好!原因如下: 1。所有的sql使用的默认类型 ... -
PO、VO、DTO、POJO
2012-08-23 16:16 0PO :persistant object持久对象,可以看成是 ... -
JAVA方法重载
2012-08-22 18:25 1077概念性的基础、需要记住。 原文:http://www.fund ... -
Filter(过滤器)简介
2012-08-14 15:49 1154Filter(过滤器)简介 Filter ... -
break continue 用法
2012-08-03 17:56 831单独使用的时候: break 中断本层循环 conti ... -
String、java.util.Date、java.sql.Date、java.sql.Timestamp互相转换
2012-07-12 19:26 1076import java.text.DateFormat; ... -
jar包查询网站
2012-05-22 16:42 927java jar包查询 根据类查询所在的java包 http ... -
session removeAttribute和invalidate方法
2012-04-10 15:38 1550removeAttribute存在session里的值没用了, ... -
介绍设置Session失效的几种方法
2012-03-31 12:21 701http://www.iteye.com/topic/1105 ... -
LinkedHashMap 和 HashMap的区别之一
2012-03-28 16:46 1004LinkedHashMap 和 HashMap的区别之一 H ... -
getResourceAsStream的用法
2012-03-16 16:00 1131首先,Java中的getResourceAsStream有以下 ... -
The type XXX cannot be resolved. It is indirectly referenced from required .clas
2012-03-16 13:24 1265http://www.cnitblog.com/wjw/arc ... -
对BigDecimal常用方法的归类
2012-03-15 14:08 877忘记了谁总结的 见谅。 import java.mat ... -
Set List remove方法 例子一个
2012-03-09 16:54 801public class ListSetTest { ... -
返回值, null或者空对象 (待整理)
2012-02-21 13:28 915个人习惯返回一个空对象、这样避免了空指针判断 返回empty ... -
indexOf
2012-02-21 11:13 814indexOf(int ch) 【 indexOf( ... -
java中比较数组元素大小
2012-02-20 15:55 3454比较数组 Arrays类提供了 ... -
java处理列转行
2012-02-20 15:52 4577Map<String, Map<String ... -
字符串截取、(待整理)
2012-02-10 10:53 664程序中难免都会用到、顺便整理一下 1、就去“_”之前的字符串 ...
相关推荐
List<Bean>转换为List<Map>, List<Object>转换为List<Object> list转化为 JsonArray ,list转换JsonArray
一般使用springjdbc、hibernate的sql查询,库获取到的数据都是List<Map<String, Object>>结果集,如果我们要转化为JavaBean,则需要做一系列的map.get(),然后obj.set()。 此工程中就是解决List<Map<String, Object>...
NULL 博文链接:https://vernonchen163.iteye.com/blog/1879387
此工具可以对参数拦截并转义后提交到对应的处理类。 除了添加两个JsFilter.java和GetHttpServletRequestWrapper.java之外,需要在web.xml添加对应的配置。 <!-- 特殊字符过滤 --> <filter> <filter-name>sqlFilter...
<br>jad -sjava -r -8 -o **\*.class <br><br>---------------<br>This is README file for Jad - the fast Java Decompiler.<br>Jad home page: http://www.kpdus.com/jad.html<br>Copyright 2001 Pavel Kouznetsov...
<bean id="temperMonitorTask" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <!-- 调用的类 --> <property name="targetObject"> <ref bean="temperMonitorTimerJob"/> ...
第1章 架设网站……………………………….1<br>1-1 服务器的选用 2<br>1-2 安装或升级IE的版本 3<br>1-3 安装IIS 6<br>1-4 测试及设置 12<br>第2章 编辑器的选用………………………..17<br>2-1 编辑软件的需求 18<br...
> 元素<br> <description> 元素<br> <example> 元素<br> <job> 元素<br> <named> 元素<br> <object> 元素<br> <package> 元素<br> <reference> 元素<br> <resource> 元素<br> <runtime> 元素<br>...
<br>---WAR3修改工具;<br>---OpenGL模式(在一些电脑上增加别的模式);<br>---图象比例调整;<br>---皮肤颜色的选择;<br>---多种语言选择;<br>---提示优化技巧和帮助;<br>---包含PING探测功能的网关编辑器<br>-...
236<br>3-8 总览 238<br>第4章 信息家电软件的大趋势 239<br>4-1 多采多姿的Java世界 240<br>4-1-1 Java的概念 240<br>4-1-2 Java世界 243<br>4-1-3 企业版J2EE 243<br>4-1-4 标准版J2SE 245<br>4-1-5 袖珍版J2ME ...
<br>-h 帮助信息 <br>-i secs 延时的间隔 <br>-l 监听模式,用于入站连接 <br>-L 连接关闭后,仍然继续监听 <br>-n 指定数字的IP地址,不能用hostname <br>-o file 记录16进制的传输 <br>-p port 本地端口号 <br>-r ...
将Windows系统安装的TTF,OTF导入为BDF,FNT,FNB格式<br><br><br>本软件的版权属厦门恒日丰科技有限公司所有,联系方式:<br>电话 :0592-5612340,5612040<br>Email :hrftech@gmail.com<br>QQ :867768078,897950972
北京54,西安80,WGS等,3度,6度带转换
将list<Map>转换成JavaBean的工具类
-- list属性参数表示输出为数组列表格式,end属性参数表示数组结束的位置(跟for的end值相等), nolast属性参数表示数组后边输出一个逗号--> <name>@{item:name}</name> <price value>@{item:price}</price><!--...
<ref bean="mappingJacksonHttpMessageConverter" /> <ref bean="stringHttpMessageConverter" /> </list> </property> </bean> <bean id="mappingJacksonHttpMessageConverter" class="org.springframework...
10<br><br>0023 如何添加引用第3方控件 11<br><br>0024 如何生成DLL文件 11<br><br>0025 如何使用不安全代码 11<br><br>第2章 语言基础 13<br><br>2.1 注释 14<br><br>0026 如何对代码进行注释 14<br>...
ejb端<br> jsfejb3-ejb<br> |-- src<br> |-- org.qiujy.ejb3.dao 持久层DAO接口包<br> |-- org.qiujy.ejb3.dao.impl 持久层DAO接口实现类包(是ejb3中的会话Bean)<br> |-- org.qiujy.ejb3.entity 实体域模型类包...
<div align="cente"><P><font size="4" face="楷体_GB2312"><strong><font color="#0099ff">招生统计信息</font></strong></font>< /p> </div> <% //设置生成饼状图 int i=0; String[] area={"南京市","镇江市",...