`
hsyzijvaa
  • 浏览: 111787 次
  • 性别: 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)" JAVA 的内省机制(introspector)和反射机制(reflection)是两个重要的概念,在 JAVA 编程中扮演着至关重要的角色。那么,什么是内省机制和反射机制?它们...

    使用struts2的Introspector做日志

    在Struts2中,Introspector是一个核心组件,用于检查和获取Action类的属性,这对于实现诸如日志记录、数据验证等任务非常有用。这篇博客文章可能探讨了如何利用Struts2的Introspector来实现日志功能。 日志在软件...

    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 开发。 ...

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

    例如,`Introspector.getBeanInfo(Class)` 方法可以获取指定类的BeanInfo,这包含了关于类的属性(PropertyDescriptor)、事件(EventSetDescriptor)和方法(MethodDescriptor)等信息。 在提供的代码示例中,`...

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

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

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

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

    Java 内省(Introspector)深入理解

    Java内省(Introspector)是Java语言提供的一种机制,用于在运行时分析Java对象的属性、方法和事件。这个特性对于开发人员来说非常有用,因为它允许程序动态地检查和修改对象的状态,而不必了解对象的具体实现细节。...

    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 ( ) ;...

    php-introspector

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

    RDF Software Introspector-开源

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

    Spring源码学习十三:IntrospectorCleanupListener解析1

    这个类在Spring源码中扮演着一个重要的角色,主要目的是解决与`Introspector`相关的内存泄漏问题。首先,我们需要理解`Introspector`在Java中的作用。 `Introspector`是Java标准库`java.beans`包下的一个类,它的...

    tajin-framework-all-2.22.zip

    此次我们关注的是一款名为"Tajin Framework All 2.22"的压缩包,其中包含了名为"app-introspector.zip"的Spring插件。这个插件是一个强大的工具,专为在运行时诊断和检查Spring Bean而设计,其核心功能是通过JSON...

    openbeans1.0.zip

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

    使用betwixt进行xml与java类之间的互转解析--代码

    XMLReader xmlReader = introspector.createInputSource(new StringReader(xml)); Person person = (Person) introspector.read(xmlReader); ``` 同样,如果要将Java对象转换为XML字符串,可以使用`XMLWriter`: `...

    Java反射中java.beans包学习总结.docx

    可以使用`Introspector.getBeanInfo()`方法获取关于JavaBean的所有信息,包括其属性、事件和方法。 5. **EventSetDescriptor**: 当JavaBean需要支持事件时,`EventSetDescriptor`类表示事件集。它定义了事件的...

    beanutils-1.9.3-bin

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

    Eclipse OLE Introspector-开源

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

    Velocity配置文件详解

    - **runtime.introspector.uberspect**:默认introspector类名称,默认为`org.apache.velocity.util.introspection.UberspectImpl`。Introspector用于处理对象的反射访问。 ##### 2.12 日志配置 - **runtime.log**...

    java最全的API帮助文档

    Java的帮助文档提供了对`java.beans`包的详细解释,包括`PropertyChangeEvent`、`PropertyChangeListener`、`BeanInfo`、`Introspector`等核心类和接口。这些文档可以帮助开发者理解如何创建和使用JavaBeans,以及...

Global site tag (gtag.js) - Google Analytics