20230528 java.beans.Introspector

发布时间 2023-08-30 17:22:01作者: 流星<。)#)))≦

介绍

  • java.beans.Introspector
  • public class Introspector
  • 对于每个类“Foo”,如果存在相应的“FooBeanInfo”类,在查询信息时提供非空值,则显式信息可能可用。我们首先通过获取目标 bean 类的完整包限定名称并附加“BeanInfo”以形成新的类名来查找 BeanInfo 类。如果失败,那么我们将获取此名称的最终类名组件,并在 BeanInfo 包搜索路径中指定的每个包中查找该类。
  • 对于诸如“sun.xyz.OurButton”之类的类,我们将首先查找名为“sun.xyz.OurButtonBeanInfo”的 BeanInfo 类,如果失败,我们将在 BeanInfo 搜索路径中的每个包中查找 OurButtonBeanInfo 类
  • 如果我们没有在某个类上找到明确的 BeanInfo,我们将使用底层反射来研究该类的方法并应用标准设计模式来识别属性访问器、事件源或公共方法。然后我们继续分析该类的超类并添加来自它的信息(并且可能在超类链上)

API

常量

  • USE_ALL_BEANINFO
  • IGNORE_IMMEDIATE_BEANINFO
  • IGNORE_ALL_BEANINFO

static

  • getBeanInfo

    • BeanInfo
  • decapitalize

    • 转换为变量名,一般是首字母小写
  • getBeanInfoSearchPath

  • setBeanInfoSearchPath

    • 查找 BeanInfo 类的包名称列表
  • flushCaches

    • 刷新 Introspector 的所有内部缓存。通常不需要此方法
  • flushFromCaches

    • 刷新 Introspector 的入参类内部缓存。通常不需要此方法