- 浏览: 1693842 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (1323)
- easyui学习 (21)
- jquery (51)
- css (21)
- js (103)
- html (19)
- java (95)
- 测试工具 (7)
- oracle (45)
- eclipse (9)
- spring (8)
- 开源框架 (111)
- struts (12)
- hsqlbd (2)
- h2database (2)
- maven (8)
- activiti (2)
- sql语句 (7)
- fmpp (1)
- apache (2)
- tomcat (6)
- jbpm (2)
- ant (20)
- mysql (10)
- 业务需求 (54)
- ralasafe (3)
- Quartz (4)
- mybatis (8)
- flex (6)
- html5 (16)
- apache工具 (4)
- hibernate (5)
- linux (109)
- powerdesigner (3)
- 报表 (1)
- log4j (2)
- junit (1)
- shiro (4)
- wap (3)
- php (28)
- mantis (1)
- poi (3)
- extjs (1)
- 安防 (34)
- 网络 (113)
- UltraEdit (1)
- 手机 (9)
- freemarker (19)
- jquery mobile (28)
- css3 (1)
- 微信 (9)
- nodejs (7)
- 项目管理 (14)
- 文档 (13)
- ibatis (22)
- ftp (3)
- spring MVC (9)
- groovy (2)
- AngularJS (19)
- nginx (15)
- 会计 (5)
- hive (1)
- 分布式 (8)
- 设计模式 (4)
- velocity (2)
- 爬虫 (2)
- git (1)
- thymeleaf (4)
- activemq (5)
- bootstrap (1)
- Spring Batch (1)
- memcache (20)
- ttserver (1)
- Jenkins (1)
- cxf (1)
- axure (2)
- 银行金融 (11)
- c语言 (2)
- 大数据 (4)
- drools (4)
- python (2)
- 交易所 (1)
- haproxy (1)
- dubbo (3)
- dos (3)
- 人力资源 (4)
- 支付 (1)
- Intellij IDEA (1)
- IPO (1)
- springboot (1)
- 质量管理 (7)
- svn (1)
- 其他 (8)
- 阿里云 (2)
- 多媒体设计 (2)
- 数据库 (4)
- wps (0)
最新评论
-
masuweng:
en
Native.js -
rmnjava:
我按照你的方法写的,不起作用啊
easyui验证的删除和恢复 -
rmnjava:
原地址打不开了呀
easyui验证的删除和恢复 -
sunteng:
sunteng 写道这是json 吗[{url:'aaa'}, ...
freemarker解析json数组 -
sunteng:
这是json 吗
freemarker解析json数组
根据属性名和类Class得到数据
import java.beans.BeanInfo; import java.beans.IntrospectionException; import java.beans.Introspector; import java.beans.PropertyDescriptor; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; /** * Introspector的使用 * @author 流浪鱼 * */ public class IntrospectorDemo { /** * @param args */ public static void main(String[] args) throws IllegalArgumentException, IntrospectionException, IllegalAccessException, InvocationTargetException, NoSuchMethodException { UserInfo userInfo=new UserInfo("zhangsan", "123456"); String propertyName="userName"; Object retVal=getProperty(userInfo, propertyName); System.out.println("retVal="+retVal);//retVal=zhangsan Object value="abc"; setProperty(userInfo, propertyName, value); retVal=getProperty(userInfo, propertyName); System.out.println("retVal="+retVal); //retVal=abc 27 /*使用BeanUtils工具包操作JavaBean org.apache.commons.beanutils.BeanUtils String userName=BeanUtils.getProperty(userInfo, propertyName); System.out.println("userName="+userName); BeanUtils.setProperty(userInfo, propertyName, "linjiqin"); userName=BeanUtils.getProperty(userInfo, propertyName); System.out.println("userName="+userName); */ } /** * * @param clazz * @param propertyName * @return * @throws IntrospectionException * @throws InvocationTargetException * @throws IllegalAccessException * @throws IllegalArgumentException */ private static Object getProperty(Object clazz, String propertyName) throws IntrospectionException, IllegalArgumentException, IllegalAccessException, InvocationTargetException{ /*方法1 PropertyDescriptor pd=new PropertyDescriptor(propertyName, clazz.getClass()); Method methodGet=pd.getReadMethod(); return methodGet.invoke(clazz); */ Object retVal=null; BeanInfo beanInfo=Introspector.getBeanInfo(clazz.getClass()); PropertyDescriptor[] pds=beanInfo.getPropertyDescriptors(); for(PropertyDescriptor pd:pds){ if(propertyName.equals(pd.getName())){ Method methodGet=pd.getReadMethod(); retVal=methodGet.invoke(clazz); break; } } return retVal; } /** * 设置属性 * * @param clazz 对象名 * @param propertyName 属性名 * @param value 属性值 */ private static void setProperty(Object clazz, String propertyName, Object value) throws IntrospectionException,IllegalAccessException, InvocationTargetException{ //方法一 /*PropertyDescriptor pd=new PropertyDescriptor(propertyName, clazz.getClass()); Method methodSet=pd.getWriteMethod(); methodSet.invoke(clazz, value);*/ //方法二 BeanInfo beanInfo=Introspector.getBeanInfo(clazz.getClass()); PropertyDescriptor[] pds=beanInfo.getPropertyDescriptors(); for(PropertyDescriptor pd:pds){ if(propertyName.equals(pd.getName())){ Method methodSet=pd.getWriteMethod(); methodSet.invoke(clazz, value); break; } } } }
/** * IntrospectorDemo测试需要的JavaBean * @author 流浪鱼 * */ public class UserInfo { private String userName; private String pwd; public UserInfo(String userName, String pwd) { super(); this.userName = userName; this.pwd = pwd; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getPwd() { return pwd; } public void setPwd(String pwd) { this.pwd = pwd; } }
发表评论
-
Lombok
2019-04-10 13:52 319Lombok能以简单的注解 ... -
Dozer
2019-04-08 13:49 285Dozer是一种Java Bean到Java Bean的映射 ... -
Spring security框架
2019-04-02 11:20 309一个能够为基于Spring的企业应用系统提供声明式的安全訪问控 ... -
java中常用的对象类型(po,vo,bo)
2018-04-25 10:34 403PO(persistant object) 1.持久对象 ... -
HikariCP
2018-03-12 08:22 862http://brettwooldridge.github. ... -
Amoeba Mysql读写分离
2018-03-07 11:37 392Amoeba(变形虫)项目,专 ... -
UnicastRemoteObject.exportObject使用
2018-03-01 13:45 1540public class CalculatorServ ... -
Spring对RMI的支持
2018-03-01 13:18 461public class SimpleObject { ... -
RMI使用
2018-03-01 12:50 354搭建一个RMI服务的过程分为以下7步; 1,创建远程方法接 ... -
volatile关键字
2018-02-28 13:13 326volatile关键字的两层语义一旦一个共享变量(类的成员变量 ... -
Jackson简单封装
2017-09-15 09:20 1010import java.io.IOException ... -
Http与Servlet工具类
2017-09-15 09:14 688/** * Http与Servlet工具类. ... -
金额格式转换
2017-09-15 09:21 571import java.math.BigDec ... -
日期工具类
2017-09-14 09:27 334public static String form ... -
编码解码工具类
2017-09-14 09:24 717import java.io.UnsupportedE ... -
Properties文件工具类
2017-09-14 08:59 575import java.io.IOExcepti ... -
全角转半角
2017-09-14 08:51 454/** * 全角转半角 * ... -
UUIDGenerator生成唯一编码
2017-09-14 08:46 1333生成唯一编码 import java.net.Ine ... -
ip转换为long
2017-09-12 17:27 1149public class IpUtils { pu ... -
https证书问题
2017-08-23 08:42 599https用于绕过证书不对情况 import java.n ...
相关推荐
"JAVA的内省机制(introspector)与反射机制(reflection)" JAVA 的内省机制(introspector)和反射机制(reflection)是两个重要的概念,在 JAVA 编程中扮演着至关重要的角色。那么,什么是内省机制和反射机制?它们...
在Struts2中,Introspector是一个核心组件,用于检查和获取Action类的属性,这对于实现诸如日志记录、数据验证等任务非常有用。这篇博客文章可能探讨了如何利用Struts2的Introspector来实现日志功能。 日志在软件...
在提供的代码示例中,`test01()` 函数展示了如何使用`Introspector.getBeanInfo(Student.class).getPropertyDescriptors();` 获取Student类的所有属性描述符。属性描述符(PropertyDescriptor)封装了JavaBean的...
使用 Introspector 库可以实现 Object 和 Map 之间的转换。Introspector 库提供了 BeanInfo 对象,可以将 Object 对象转换为 Map 对象。 ```java public Map, Object> obj2Map(Object obj) throws Exception { Map...
Neo4j GraphQL 库(graphql--neo4j-introspector-1.0.1.zip) 源代码。 Neo4j GraphQL 库是一个高度灵活、低代码、开源的 JavaScript 库,可通过利用连接数据的力量为跨平台和移动应用程序实现快速 API 开发。 ...
Neo4j GraphQL 库(graphql--neo4j-introspector-1.0.1.tar.gz) 源代码。 Neo4j GraphQL 库是一个高度灵活、低代码、开源的 JavaScript 库,可通过利用连接数据的力量为跨平台和移动应用程序实现快速 API 开发。 ...
由于它与AWT的紧密依赖,因此无法轻易将其从java.desktop模块中删除,从而导致任何使用java.beans包的第三方库都依赖于所有java.desktop类,从而在JVM安装中增加了12mb的额外开销,并且一些额外的内存使用情况。...
资源分类:Python库 所属语言:Python 资源全名:plone.introspector-0.1.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
骨干内省者骨干应用程序自省-生成应用程序组件的树状图(使用d3.js)要求骨干应用装有require.js的模块预习 还检查TodirMVC实现的示例目录安装在您的main.js中require ( ['backbone' ,'views/app' ,'routers/router'...
使用 Atom 包管理器,它可以在设置视图中找到,或者从命令行运行apm install php-introspector 。 您还需要安装软件包。 用法 目前,自动完成依赖于从远程(或本地)服务器获取建议。 它从文件中读取此服务器的位置...
Java内省(Introspector)是Java语言提供的一种机制,用于在运行时分析Java对象的属性、方法和事件。这个特性对于开发人员来说非常有用,因为它允许程序动态地检查和修改对象的状态,而不必了解对象的具体实现细节。...
Introspector使处理源代码的编程工具(例如编译器)能够以标准且中立的方式进行通信,从而减少了意外的编程成本。 http://github.com/h4ck3rm1k3/
为了解决这个问题,我们可以在使用完`Introspector`之后调用`Introspector.flushCaches()`方法,清除缓存以避免内存泄漏。 `IntrospectorCleanupListener`是Spring框架为了进一步防止这种内存泄漏而设计的一个监听...
本篇文章将深入探讨如何使用Betwixt库实现XML与Java类之间的互转解析。 首先,我们需要理解Betwixt的基本概念。Betwixt是一个XML绑定工具,它允许开发者通过注解或XML配置文件来映射XML结构与Java类的属性。这种...
//import java.beans.Introspector; //import java.beans.PropertyDescriptor; import com.googlecode.openbeans.BeanInfo; import com.googlecode.openbeans.IntrospectionException; import ...
Eclipse 平台的 COM 内省器和代码生成器
- **设计时支持**:通过JavaBeans Architecture(如Introspector和BeanInfo)提供设计时信息,增强IDE的可视化编辑能力。 - **国际化**:使用ResourceBundle支持多语言环境。 7. **资源** "中国IT认证实验室学习...
BeanUtils是由Apache公司开发的针对操作JavaBean的工具包。...但是由Apache公司开发的BeanUtils会更常用,同时,BeanUtils还需要配合第三方日志工具来使用,这里我们同样使用Apache公司的common logging
通过使用Betwixt,开发者可以轻松地将XML文档解析为Java对象,或者将Java对象序列化为XML文档。这极大地简化了数据交换和持久化的过程。 在本例子中,我们使用的版本是`commons-betwixt-0.8.jar`。这个库包含了一组...
此次我们关注的是一款名为"Tajin Framework All 2.22"的压缩包,其中包含了名为"app-introspector.zip"的Spring插件。这个插件是一个强大的工具,专为在运行时诊断和检查Spring Bean而设计,其核心功能是通过JSON...