Java内省(Introspector)

#Java内省(Introspector)java

Java内省技术专门用来操做JavaBean的属性。框架

  • 为何要学内省?
    • 开发框架时,常常须要使用java对象的属性来封装程序的数据,每次都使用反射技术完成此类操做过于麻烦,因此sun公司开发了一套API,专门用于操做java对象的属性
  • 什么是Java对象的属性和属性的读写方法?
    • 字段与属性的区别
    • 一个类有几个属性取决于读取器和修改器
    • 一个类拥有的属性,不要忘记getClass()方法
  • 内省访问JavaBean属性的两种方式
    • 经过PropertyDescriptor类操做Bean的属性
    • 经过Introspector类得到Bean对象的 BeanInfo,而后经过 BeanInfo 来获取属性的描述器( PropertyDescriptor ),经过这个属性描述器就能够获取某个属性对应的 getter/setter 方法,而后经过反射机制来调用这些方法

#BeanUtils框架工具

Sun公司的内省API过于繁琐,因此Apache组织结合不少实际开发中的应用场景开发了一套简单、易用的API操做Bean的属性——BeanUtils对象

  • Beanutils工具包的经常使用类:
    • BeanUtils
    • PropertyUtils
    • ConvertUtils.regsiter(Converter convert, Class clazz)
    • 自定义转换器

BeanUtils对于8中基本数据类型是直接转换的,可是对于复杂类型就不行了,须要咱们自定义类型转换器才能够。 使用Map填充一个Bean,拷贝一个Bean到另外一个Beanip

相关文章
相关标签/搜索