Java中的Bean内省

Java中的Bean内省,java,javabeans,introspection,Java,Javabeans,Introspection,我在学爪哇的工作面试。 他们让我学习豆子内省的概念,所以我在网上搜索了一下 阅读几个网站,包括下面的帖子: 据我所知:Bean类似于Java中的任何其他对象类,但该类必须具有以下特性: 所有私有属性(使用getter/setter) 公共无参数构造函数 实现可序列化 一般事项: 内省使我能够在运行时“检查”对象,并且 这样我就可以得到类属性名、方法名、构造函数等 内省使用反射来获取类的信息 我还有一些问题: 为什么我需要这种机制,也就是说,在什么情况下我应该使用内省而不是使用任何其

我在学爪哇的工作面试。 他们让我学习豆子内省的概念,所以我在网上搜索了一下 阅读几个网站,包括下面的帖子:

据我所知:Bean类似于Java中的任何其他对象类,但该类必须具有以下特性:

  • 所有私有属性(使用getter/setter)
  • 公共无参数构造函数
  • 实现可序列化
  • 一般事项:

  • 内省使我能够在运行时“检查”对象,并且 这样我就可以得到类属性名、方法名、构造函数等
  • 内省使用反射来获取类的信息
  • 我还有一些问题:

  • 为什么我需要这种机制,也就是说,在什么情况下我应该使用内省而不是使用任何其他东西
  • 比恩的内省和常规内省有什么区别吗
  • 除了我可以使用的方法之外,它是如何工作的

  • 如果有人能告诉我他对这个主题的看法,或者给我一些有用信息的链接,我会很高兴。

    我不确定他们想知道什么
    您可以使用诸如之类的框架来查询有关bean结构的信息
    我手动开发了这样的代码(大错误!:)-
    我使用了基于JavaBean表示法的递归机制(即,设置器必须以“set”开头,
    getter以“is”开头表示布尔值,或以“get”开头表示所有类型)
    然后,您可以使用此代码自动执行某些行为-
    在我的示例中,我编写了一个分析WSDL的工具,并在WS调用之间创建绑定 并且我们的应用程序实体是通过代码实现的
    我们应用程序的用户提供了一个XML,指示如何执行映射-
    i、 假设WS-call返回一个Person对象,但在我们的应用程序中有一个学生实体
    因此XML定义了如何执行映射,我使用ApacheBean UTIL之类的代码来执行内省
    并了解要调用的setter和getter
    这与java应用程序中通常执行的操作不同:
    1.从WSDL生成Java客户端(即使用wsdl2java)
    2.使用客户端代码编译应用程序

    我可以假设可以在分析器代码中使用内省-例如,
    由于有许多框架使用getter和setter,因此这些方法的效率非常重要,
    所以这是mabye profiles应该首先研究的问题

    请随意添加更多问题