- 浏览: 4925315 次
- 性别:
- 来自: 上海
-
文章分类
- 全部博客 (743)
- JAVA (44)
- JAVA 乔乐共享 (145)
- js (132)
- database (26)
- jQuery (46)
- velocity (16)
- Ubuntu (14)
- Grails (2)
- Groovy (6)
- xml (2)
- Spring (11)
- mysql (24)
- sqlserver (6)
- oracle (9)
- cmd (8)
- CSS (17)
- Linux (2)
- sqlite (4)
- php (11)
- json (2)
- laravel (2)
- html (3)
- 闲聊 (3)
- git (13)
- nodejs (25)
- angularjs (17)
- npm (8)
- bootstrap (4)
- mongodb (5)
- React (32)
- Crack (7)
- b (0)
- ES6 (2)
- webpack (3)
- Babel (1)
- Koa (1)
最新评论
-
taoshengyijiuzt:
感谢大佬!!!
JetBrains最新激活服务器(长期更新ing) -
masuweng:
激活码可以用
JetBrains最新激活服务器(长期更新ing) -
dusdong:
都失效了
JetBrains最新激活服务器(长期更新ing) -
追风筝的孩纸Zz:
dddddddddddddddd
js获取网页屏幕可见区域高度 -
自己811005:
88350bcf69dcfbda7f8a76a589d9054 ...
Js设置前端允许跨域请求后端API:Access-Control-Allow-Credentials
对于大批量属性的类,里面有有很多属性,这个时候一个个写还是很痛苦的,通过java反射来获取这些类里面的方法,从而得到自己想要的set属性的字符串再好不过了。
下面是一个JDOM设置值的,直接反射生成即可
下面是一个JDOM设置值的,直接反射生成即可
project.setSeatPicUrl(node.getChildText("seatPicUrl")); project.setId(node.getChildText("id")); project.setCategoryID(node.getChildText("categoryID")); project.setSonCategoryID(node.getChildText("sonCategoryID")); project.setSiteID(node.getChildText("siteID")); project.setSiteName(node.getChildText("siteName")); project.setSubHead(node.getChildText("subHead")); project.setIsETicket(node.getChildText("isETicket")); project.setMinPrice(node.getChildText("minPrice")); project.setMaxPrice(node.getChildText("maxPrice")); project.setPriceStr(node.getChildText("priceStr")); project.setSellEndTime(node.getChildText("sellEndTime")); project.setShowTime(node.getChildText("showTime")); project.setCanSell(node.getChildText("canSell")); project.setIsTest(node.getChildText("isTest")); project.setVenueName(node.getChildText("venueName")); project.setVenueID(node.getChildText("venueID")); project.setIsXuanZuo(node.getChildText("isXuanZuo")); project.setUpdateTime(node.getChildText("updateTime")); project.setPerformIdList(node.getChildText("performIdList")); project.setName(node.getChildText("name")); project.setDescription(node.getChildText("description")); project.setStatus(node.getChildText("status"));
package com.proxy.reflect; /** * @author: (le.qiao) * @e-mail: qiaolevip@gmail.com * @myblog: <a href="http://qiaolevip.iteye.com">http://qiaolevip.iteye.com</a> * @date: 2012-11-30 * */ import java.lang.reflect.Field; import java.lang.reflect.Method; import com.proxy.bean.Project; public class ReflectUser { public static void main(String[] args) throws Exception { /* * 实列化类 方法2 */ Project bean = new Project(); // bean.setAge(100); // bean.setBirthday(new Date()); // bean.setName("武汉"); // 得到类对象 @SuppressWarnings("rawtypes") Class cls = (Class) bean.getClass(); /* * 得到类中的所有属性集合 */ Field[] fs = cls.getDeclaredFields(); for (int i = 0; i < fs.length; i++) { Field f = fs[i]; f.setAccessible(true); // 设置些属性是可以访问的 // Object val = f.get(bean);// 得到此属性的值 // System.out.println("name:" + f.getName() + "\t value = " + val); String type = f.getType().toString();// 得到此属性的类型 if (type.endsWith("String")) { // System.out.println(f.getType() + "\t是String"); f.set(bean, "12"); // 给属性设值 } else if (type.endsWith("int") || type.endsWith("Integer")) { // System.out.println(f.getType() + "\t是int"); f.set(bean, 12); // 给属性设值 } else { // System.out.println(f.getType() + "\t"); } } /* * 得到类中的方法 */ Method[] methods = cls.getMethods(); for (int i = 0; i < methods.length; i++) { Method method = methods[i]; // if (method.getName().startsWith("get")) { // System.out.print("methodName:" + method.getName() + "\t"); // System.out.println("value:" + method.invoke(bean));// 得到get 方法的值 // } if (method.getName().startsWith("set")) { System.out.print(firstToLower(cls.getSimpleName()) + "." + method.getName() + "(node.getChildText(\"" + firstToLower(method.getName().substring(3)) + "\"));\n"); } } } /** * @param val * @return */ public static String firstToLower(String val) { return val.substring(0, 1).toLowerCase() + val.substring(1); } }
package com.proxy.bean; import java.util.ArrayList; /** * @author: (le.qiao) * @e-mail: qiaolevip@gmail.com * @myblog: <a href="http://qiaolevip.iteye.com">http://qiaolevip.iteye.com</a> * @date: 2012-8-13 * */ public class Project { // 项目ID private String id; // 项目名称 private String name; // 所属父类别 private String categoryID; // 所属子类别 private String sonCategoryID; // 城市ID private String siteID; // 城市名称 private String siteName; // 项目详情描述 private String description; // 一句话描述 private String subHead; // 是否支持电子票(1-支持;0-不支持) private String isETicket; // 最低价格 private String minPrice; // 最高价格 private String maxPrice; // 价格快照 private String priceStr; // 销售结束时间 private String sellEndTime; // 演出时间 private String showTime; // 是否可以购买(1-可以购买;0-不允许购买) private String canSell; // 是否是测试项目(1-是,0-不是) private String isTest; // 场馆名称 private String venueName; // 场馆ID private String venueID; // 是否支持选座(1-支持选座;0-不支持选座) private String isXuanZuo; // 相关艺人信息节点 // private String artistinfo; // 最后更新时间 private String updateTime; // 商品状态(3,销售中;4,结束;7,预定;8,预售;10,测试;6,禁止显示) private String status; /** 座位表图片路径 */ private String seatPicUrl; private List<String> performIdList = new ArrayList<String>(); public String getSeatPicUrl() { return seatPicUrl; } public void setSeatPicUrl(String seatPicUrl) { this.seatPicUrl = seatPicUrl; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getCategoryID() { return categoryID; } public void setCategoryID(String categoryID) { this.categoryID = categoryID; } public String getSonCategoryID() { return sonCategoryID; } public void setSonCategoryID(String sonCategoryID) { this.sonCategoryID = sonCategoryID; } public String getSiteID() { return siteID; } public void setSiteID(String siteID) { this.siteID = siteID; } public String getSiteName() { return siteName; } public void setSiteName(String siteName) { this.siteName = siteName; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public String getSubHead() { return subHead; } public void setSubHead(String subHead) { this.subHead = subHead; } public String getIsETicket() { return isETicket; } public void setIsETicket(String isETicket) { this.isETicket = isETicket; } public String getMinPrice() { return minPrice; } public void setMinPrice(String minPrice) { this.minPrice = minPrice; } public String getMaxPrice() { return maxPrice; } public void setMaxPrice(String maxPrice) { this.maxPrice = maxPrice; } public String getPriceStr() { return priceStr; } public void setPriceStr(String priceStr) { this.priceStr = priceStr; } public String getSellEndTime() { return sellEndTime; } public void setSellEndTime(String sellEndTime) { this.sellEndTime = sellEndTime; } public String getShowTime() { return showTime; } public void setShowTime(String showTime) { this.showTime = showTime; } public String getCanSell() { return canSell; } public void setCanSell(String canSell) { this.canSell = canSell; } public String getIsTest() { return isTest; } public void setIsTest(String isTest) { this.isTest = isTest; } public String getVenueName() { return venueName; } public void setVenueName(String venueName) { this.venueName = venueName; } public String getVenueID() { return venueID; } public void setVenueID(String venueID) { this.venueID = venueID; } public String getIsXuanZuo() { return isXuanZuo; } public void setIsXuanZuo(String isXuanZuo) { this.isXuanZuo = isXuanZuo; } // public String getArtistinfo() { // return artistinfo; // } // // public void setArtistinfo(String artistinfo) { // this.artistinfo = artistinfo; // } public String getUpdateTime() { return updateTime; } public void setUpdateTime(String updateTime) { this.updateTime = updateTime; } public String getStatus() { return status; } public void setStatus(String status) { this.status = status; } public List<String> getPerformIdList() { return performIdList; } public void setPerformIdList(List<String> performIdList) { this.performIdList = performIdList; } }
发表评论
-
JAX-WS获取天气预报wsdl
2014-08-01 12:14 1548天气预报地址:http://www.webxml.com.c ... -
巴西世界杯期间,32支强队对战情况一览表
2014-07-07 15:53 822积分 A 巴西 7 墨西哥 ... -
Hp(中国上海)第一次电话面试
2014-07-07 13:45 1526时间:发简历的第二天 方式:电话面试 时长:25m 内 ... -
Java判断当前时间是否在两个时间段内
2014-04-11 18:59 24906// 播放时间段格式:0000-2359 String ... -
Java启动本机应用程序EXE的三种方式
2014-04-03 10:06 11436// 第一种方式:利用cmd方式 /** * ... -
ProcessBuilder实例启动一个新的应用程序
2014-04-03 10:01 1584/** * 启动应用程序 * * @pa ... -
Java判断应用程序启动状态并打开或关闭应用程序
2014-04-02 15:43 2052package com.anxin.ssk.util; ... -
Java cmd判断本地网络状态及强度
2014-04-02 14:06 1664package com.anxin.ssk.util; ... -
Java获取Set中第一个值
2014-03-18 16:21 24009Map<String, List<Cinema ... -
java取汉字拼音首字母含多音字及不常见的字
2014-03-13 11:25 10613package com.anxin.ssk.common; ... -
Java汉字区位码计算机对照表
2014-03-06 11:47 21127package com.anxin.ssk.common; ... -
java汉字转拼音或首字母,手写版非pinyin4j,可排除例外
2014-03-06 11:16 2185package com.anxin.ssk.common; ... -
JAVA调用spring注入class
2014-01-21 15:55 3872<?xml version="1.0&quo ... -
java.util.ConcurrentModificationException 原因及解决方案
2013-12-19 20:17 225812:13:30,822 [ERROR] 优惠券缓存 初始化 ... -
创建多人机票订单数据结构
2013-12-05 00:03 1758public AirplaneCreateOrderResu ... -
java断点续传原理总结
2013-10-18 13:36 1666断点续传总结 断点续传的原理: 断点续传的原理很简单,就 ... -
妙用分隔符分割循环数据
2013-08-14 10:08 1398public static void main(Strin ... -
spring还可以这样配置list对象
2013-05-24 16:12 2564// 配置内容 <entry key="s ... -
List<String>转换String[]或String
2013-05-10 15:52 1236List<String> strlist = ... -
Spring MVC 三种参数注入
2013-04-16 22:43 29691)参数注入第一种方法 <!-- xml服务 - ...
相关推荐
1. **反射机制**:利用Java的反射API解析对象的属性,获取字段名和值,这是构建SQL语句的基础。例如,`Field[] fields = obj.getClass().getDeclaredFields();`可以获取到对象的所有字段。 2. **SQL构造**:根据...
9.4.2 通过StatelessSession来进行批量操作 9.4.3 通过HQL来进行批量操作 9.4.4 直接通过JDBC API来进行批量操作 9.5 使用元数据 9.6 通过Hibernate调用存储过程 9.7 小结 9.8 思考题 第10章 映射组成...
9. **Java反射**:Java反射机制允许在运行时检查和操作类、接口、字段和方法,可以动态调用方法,创建对象等,提供了强大的编程灵活性。 10. **Java枚举**:枚举类型是Java 5引入的,用于定义一组固定的常量,增强...
第1章 Java概述 1 1.1 Java语言的发展简史 2 1.2 Java的竞争对手及各自优势 4 1.2.1 C#简介和优势 4 1.2.2 Ruby简介和优势 4 1.2.3 Python的简介和优势 5 1.3 Java程序运行机制 5 1.3.1 高级语言的运行机制 6...
15. **反射机制**:Java反射机制允许在运行时动态地获取类的信息并操作类的对象,增强了程序的灵活性。 16. **泛型**:泛型引入了类型安全,允许在编译时检查类型,避免强制类型转换。 17. **注解(Annotation)**...
根据提供的文件信息,我们可以总结出以下关于“利用...此工具可以广泛应用于需要批量处理Excel数据的场景,例如数据导入、报表生成等。通过反射技术,可以灵活地支持不同类型的对象,大大提高了代码的复用性和扩展性。
#### 15.2 使用Java反射机制 通过反射,可以在运行时获取类的构造函数、方法、字段等信息。 #### 15.3 反射与动态代理 动态代理利用反射生成代理对象,可以用来增强或扩展对象的功能。 ### 十四、Java标注 ####...
9.4.2 通过StatelessSession来进行批量操作 9.4.3 通过HQL来进行批量操作 9.4.4 直接通过JDBC API来进行批量操作 9.5 使用元数据 9.6 通过Hibernate调用存储过程 9.7 小结 9.8 思考题 第10章 映射组成...
9.4.2 通过StatelessSession来进行批量操作 9.4.3 通过HQL来进行批量操作 9.4.4 直接通过JDBC API来进行批量操作 9.5 使用元数据 9.6 通过Hibernate调用存储过程 9.7 小结 9.8 思考题 第10章 映射组成...
9.4.2 通过StatelessSession来进行批量操作 9.4.3 通过HQL来进行批量操作 9.4.4 直接通过JDBC API来进行批量操作 9.5 使用元数据 9.6 通过Hibernate调用存储过程 9.7 小结 9.8 思考题 第10章 映射组成...
提供的`GetterSetterUtil.class`和`GetterSetterUtil.java`可能是用于批量生成getter和setter的辅助工具类。通常,这样的工具类会包含静态方法,可以接受类的Class对象作为参数,然后遍历所有字段并生成对应的...
2. **集合操作**:Java集合框架包括`List`、`Set`、`Map`等接口,但有时我们需要对集合进行更复杂的操作,如排序、去重、合并等。工具类可能提供这些便捷的集合处理方法。 3. **日期与时间**:处理日期和时间在Java...
- 线程的优先级通过`setPriority()`方法设置。 - 优先级高的线程更有可能被调度执行。 **线程获取名称** - 线程名称通过`Thread.setName()`方法设置。 - 获取线程名称使用`Thread.getName()`方法。 **线程的五个...
- Java通过自动垃圾回收管理内存,回收不再使用的对象所占的空间。 - 垃圾回收算法包括但不限于标记-清除、复制、分代收集等。 - 实现细节及优化策略。 **==与equals的区别** - `==`用于比较基本类型的值或引用类型...
- Eclipse是一个流行的Java开发工具,可以通过简单的设置来提高开发效率。例如,可以设置自动导入包、代码格式化规则等。 #### 二、基础知识 **1. 主方法中args是什么意思** - `args`是`main`方法的一个参数,...
- **Java集合框架:** List、Set、Map等集合类的原理和使用场景,以及它们的子类如ArrayList、HashMap的内部结构和性能差异。 - **Java I/O操作:** 输入输出流的处理、NIO和IO的区别以及异步I/O的使用。 - **多线程...
1. 使用预编译:通过`JSON.parseObject(json, TypeReference<T> typeReference)`可以避免反射,提高性能。 2. 批量处理:对于大量JSON数据,使用`JSONArray.parseArray(String text, Class<T> clazz)`批量解析,比...
你可以手动编辑此文件,或者让DWR自动通过反射机制生成。 4. **JavaScript调用** - 引入`dwr-engine.js`和`dwr-init.js`到你的HTML页面,然后就可以在JavaScript中使用DWR API了。 - 使用DWR的`execute`函数,...
在运行时,MyBatis会通过`MapperProxyFactory`生成一个代理类来执行Mapper接口的方法,这个过程涉及到反射和动态代理技术。 **4. SqlSession与Executor** `SqlSession`是MyBatis的主要工作接口,用于执行SQL操作。...