`

Introspector.getBeanInfo()方法使用

阅读更多

public static Map convertBean(Object bean) throws IntrospectionException,
  IllegalAccessException, InvocationTargetException {


  Map returnMap = new HashMap();

 

  Class type = bean.getClass(); // 获得对象的名字

 

  BeanInfo beanInfo = Introspector.getBeanInfo(type);
  // 在 Java Bean 上进行内省,了解其所有属性、公开的方法和事件

 

 

  PropertyDescriptor[] propertyDescriptors = beanInfo .getPropertyDescriptors();
  // 获得 beans PropertyDescriptor

 

  for (int i = 0; i < propertyDescriptors.length; i++) {
   PropertyDescriptor descriptor = propertyDescriptors[i];

 

   String propertyName = descriptor.getName();
   // 获得所有对象属性值得名字

 

   if (!propertyName.equals("class")) {
    Method readMethod = descriptor.getReadMethod();
    Object result = readMethod.invoke(bean, new Object[0]);
    if (result != null) {
     returnMap.put(propertyName, result);
    } else {
     returnMap.put(propertyName, "");
    }
   }
  }
  return returnMap;
 }

}

分享到:
评论

相关推荐

    JAVA的内省机制(introspector)与反射机制(reflection).docx

    JAVA的内省机制(introspector)与反射机制(reflection).docx

    Python库 | plone.introspector-0.1.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:plone.introspector-0.1.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    Neo4j GraphQL 库(graphql--neo4j-introspector-1.0.1.tar.gz)

    Neo4j GraphQL 库(graphql--neo4j-introspector-1.0.1.tar.gz) 源代码。 Neo4j GraphQL 库是一个高度灵活、低代码、开源的 JavaScript 库,可通过利用连接数据的力量为跨平台和移动应用程序实现快速 API 开发。 ...

    Neo4j GraphQL 库(graphql--neo4j-introspector-1.0.1.zip)

    Neo4j GraphQL 库(graphql--neo4j-introspector-1.0.1.zip) 源代码。 Neo4j GraphQL 库是一个高度灵活、低代码、开源的 JavaScript 库,可通过利用连接数据的力量为跨平台和移动应用程序实现快速 API 开发。 ...

    tajin-framework-all-2.22.zip

    app-introspector.zip,一个简单的spring插件,用于在运行时诊断和检查springbean。它提供基于json的服务

    velocity4s:适用于Scala的Apache Velocity包装器

    速度4s for Scala的包装器库。... runtime.introspector.uberspect = org.velocity4s.ScalaUberspect使用扩展的速度引擎时使用ScalaVelocity引擎。 import org . velocity4s . ScalaVelocityEngineval engine

    command-line-processing-1.0.1.jar

    从命令行参数(即main的“ String [] args”参数)中提取选项值到字段中,需要单个方法调用:Introspector.extract(args,o1,o2,...)其中o1,o2,...是其中用@External注释的字段的对象。 il.ac.technion.cs....

    openbeans1.0.zip

    //import java.beans.Introspector; //import java.beans.PropertyDescriptor; import com.googlecode.openbeans.BeanInfo; import com.googlecode.openbeans.IntrospectionException; import ...

    java-beans-lite:轻量级且快速的java.beans.Introspector实现

    由于它与AWT的紧密依赖,因此无法轻易将其从java.desktop模块中删除,从而导致任何使用java.beans包的第三方库都依赖于所有java.desktop类,从而在JVM安装中增加了12mb的额外开销,并且一些额外的内存使用情况。...

    Thinking in Java 4th Edition

    What’s Inside Preface 1 Java SE5 and SE6 .................. 2 Java SE6 ............................................The 4th edition...........................Changes ...........................................

    使用struts2的Introspector做日志

    NULL 博文链接:https://liuna718-163-com.iteye.com/blog/1731217

    Java 内省introspector相关原理代码解析

    主要介绍了Java 内省introspector相关原理代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    backbone-introspector:骨干应用程序自省-生成应用程序组件的树状图(使用d3.js)

    骨干内省者骨干应用程序自省-生成应用程序组件的树状图(使用d3.js)要求骨干应用装有require.js的模块预习 还检查TodirMVC实现的示例目录安装在您的main.js中require ( ['backbone' ,'views/app' ,'routers/router'...

    Thinking in Java(中文版 由yyc,spirit整理).chm

    13.18.2 用Introspector提取BeanInfo 13.18.3 一个更复杂的Bean 13.18.4 Bean的封装 13.18.5 更复杂的Bean支持 13.18.6 Bean更多的知识 13.19 Swing入门 13.19.1 Swing有哪些优点 13.19.2 方便的转换 13.19.3 显示...

    JAVA_Thinking in Java(中文版 由yyc,spirit整理).chm

    13.18.2 用Introspector提取BeanInfo 13.18.3 一个更复杂的Bean 13.18.4 Bean的封装 13.18.5 更复杂的Bean支持 13.18.6 Bean更多的知识 13.19 Swing入门 13.19.1 Swing有哪些优点 13.19.2 方便的转换 13.19.3 显示...

    beanutils-1.9.3-bin

    在由JDK提供的默认的API中,有java.beans包,里面有诸如Introspector,BeanInfo,PropertyDescriptor等用来操作JavaBean的方法, 但是由Apache公司开发的BeanUtils会更常用,同时,BeanUtils还需要配合第三方日志...

    Java基础加强(上) 经典ppt

    讲一些经典的:静态导入 自动装箱/拆箱 增强for循环 可变参数 内省(Introspector) — JavaBean ......

    Thinking in Java 中文第四版+习题答案

    13.18.2 用Introspector提取 13.18.3 一个更复杂的 13.18.4 Bean的封装 13.18.5 更复杂的Bean支持 13.18.6 Bean更多的知识 13.19 Swing入门 13.19.1 Swing有哪些优点 13.19.2 方便的转换 13.19.3 显示框架 13.19.4 ...

    php-introspector

    使用 Atom 包管理器,它可以在设置视图中找到,或者从命令行运行apm install php-introspector 。 您还需要安装软件包。 用法 目前,自动完成依赖于从远程(或本地)服务器获取建议。 它从文件中读取此服务器的位置...

    Think in Java(中文版)chm格式

    13.18.2 用Introspector提取BeanInfo 13.18.3 一个更复杂的Bean 13.18.4 Bean的封装 13.18.5 更复杂的Bean支持 13.18.6 Bean更多的知识 13.19 Swing入门 13.19.1 Swing有哪些优点 13.19.2 方便的转换 13.19....

Global site tag (gtag.js) - Google Analytics