`
hsyzijvaa
  • 浏览: 107357 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Introspector

    博客分类:
  • java
阅读更多
    <br><br> introspector与反射类似,主要是对java bean属性、方法等的一种处理方法.
 
1. class diagram
 
 <img src="http://dl.iteye.com/upload/attachment/482916/592d562b-9054-3026-8b27-7cdb400a8207.jpg" alt="">
 
2. 实例
 
package com.siyuan.jdktest;
import java.beans.beandescriptor;<br>import java.beans.beaninfo;<br>import java.beans.introspectionexception;<br>import java.beans.introspector;<br>import java.beans.methoddescriptor;<br>import java.beans.propertydescriptor;<br>import java.lang.reflect.method;
class person {<br> <br> private string name;<br> <br> private int age;
 /**<br>  * @return the age<br>  */<br> public int getage() {<br>  return age;<br> }
 /**<br>  * @param age the age to set<br>  */<br> public void setage(int age) {<br>  this.age = age;<br> }
 /**<br>  * @return the name<br>  */<br> public string getname() {<br>  return name;<br> }
 /**<br>  * @param name the name to set<br>  */<br> public void setname(string name) {<br>  this.name = name;<br> }<br> <br>}
public class introspectortest {
 /**<br>  * @param args<br>  * @throws introspectionexception <br>  */<br> public static void main(string[] args) throws introspectionexception {<br>  // todo auto-generated method stub<br>  beaninfo beaninfo = introspector.getbeaninfo(person.class);<br>  <br>  system.out.println("beandescriptor===========================================");<br>  beandescriptor beandesc = beaninfo.getbeandescriptor();<br>  class cls = beandesc.getbeanclass();<br>  system.out.println(cls.getname());<br>  <br>  system.out.println("methoddescriptor===========================================");<br>  methoddescriptor[] methoddescs = beaninfo.getmethoddescriptors();<br>  for (int i = 0; i < methoddescs.length; i++) {<br>   method method = methoddescs[i].getmethod();<br>   system.out.println(method.getname());<br>  }<br>  <br>  system.out.println("propertydescriptor===========================================");<br>  propertydescriptor[] propdescs = beaninfo.getpropertydescriptors();<br>  for (int i = 0; i < propdescs.length; i++) {<br>   method methodr = propdescs[i].getreadmethod();<br>   if (methodr != null) {<br>    system.out.println(methodr.getname());<br>   }<br>   method methodw = propdescs[i].getwritemethod();<br>   if (methodw != null) {<br>    system.out.println(methodw.getname());<br>   }<br>  }<br> }
}
3. 运行结果
 
beandescriptor===========================================<br>com.siyuan.jdktest.person<br>methoddescriptor===========================================<br>hashcode<br>setage<br>equals<br>wait<br>wait<br>notify<br>getclass<br>tostring<br>getage<br>notifyall<br>setname<br>wait<br>getname<br>propertydescriptor===========================================<br>getage<br>setage<br>getclass<br>getname<br>setname
 
0
5
分享到:
评论

相关推荐

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

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

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

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

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

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

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

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

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

    轻巧,快速的java.beans.Introspector重新实现,用于消除对Bean Introspection的java.desktop模块的依赖。 问题 JDK 9中引入的模块封装了Java标准库中的所有AWT,Swing,Image和Sound软件包。 除此之外,它还包含带...

    使用struts2的Introspector做日志

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

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

    //require the introspector file'introspector'] , function ( Backbone , AppView , Workspace , introspector ) {/*jshint nonew:false*/// Initialize routing and start Backbone.history()new Workspace ( ) ;...

    Java 内省(Introspector)深入理解

    主要介绍了Java 内省(Introspector)深入理解的相关资料,需要的朋友可以参考下

    php-introspector

    php-introspector 这个包是一个薄包装器,它从内省中检索建议: 安装 使用 Atom 包管理器,它可以在设置视图中找到,或者从命令行运行apm install php-introspector 。 您还需要安装软件包。 用法 目前,自动完成...

    RDF Software Introspector-开源

    Introspector使处理源代码的编程工具(例如编译器)能够以标准且中立的方式进行通信,从而减少了意外的编程成本。 http://github.com/h4ck3rm1k3/

    openbeans1.0.zip

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

    beanutils-1.9.3-bin

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

    Eclipse OLE Introspector-开源

    Eclipse 平台的 COM 内省器和代码生成器

    CBIntrospector:可视化调试工具。 与桌面应用程序 View Introspector 兼容。 简单来说,它是一个 UIView 层次结构查看器库

    CBIntrospectorIntrospector 是一小组适用于iOS 6+和 iOS 模拟器的工具,可帮助调试使用 UIKit 构建的用户界面。 它对于动态创建或可以在运行时更改的 UI 布局,或者通过查找非不透明视图或不必要地重新绘制的视图来...

    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....

    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 ...

    JAVA_Thinking in Java

    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 显示...

    ThinkInJava

    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 编程入门思考

    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 显示...

Global site tag (gtag.js) - Google Analytics