BeanWrapper

BeanWrapper

用来包装 Object 的包装类,可以操作Object内部的属性和字段。

PropertyAccessor 提供对属性或者字段的访问,可以访问字段的类型,字段的value。
AbstractPropertyAccessor 继承 PropertyAccessor

PropertyEditorRegistry 注册属性PropertyEditor,外部属性和内部属性值沟通的桥梁

TypeConverter 转换为特定的类型 通常从spring类型。

ConfigurablePropertyAccessor 对 PropertyAccessor的封装,即对属性值和字段值得访问

BeanWrapper 继承了 ConfigurablePropertyAccessor 接口

BeanWrapperImpl实现BeanWrapper 继承 AbstractPropertyAccessor,它的作用,包装bean,可以对其直接操作属性,对所有的
对象提供同一个接口,简单,底层实现方法 propertyAccessor,设置属性,存在一个强大的属性编辑器,将string转换为相应的类型。

PropertyEditor

PropertyEditor是属性编辑器的接口,它规定了将外部设置值转换为内部JavaBean属性值的转换接口方法。PropertyEditor主要的接口方法说明如下:
— Object getValue():返回属性的当前值。基本类型被封装成对应的封装类实例;
— void setValue(Object newValue):设置属性的值,基本类型以封装类传入;
— String getAsText():将属性对象用一个字符串表示,以便外部的属性编辑器能以可视化的方式显示。缺省返回null,表示该属性不能以字符串表示;
— void setAsText(String text):用一个字符串去更新属性的内部值,这个字符串一般从外部属性编辑器传入;
— String[] getTags():返回表示有效属性值的字符串数组(如boolean属性对应的有效Tag为true和false),以便属性编辑器能以下拉框的方式显示出来。缺省返回null,表示属性没有匹配的字符值有限集合;
— String getJavaInitializationString():为属性提供一个表示初始值的字符串,属性编辑器以此值作为属性的默认值。

可以看出PropertyEditor接口方法是内部属性值和外部设置值的沟通桥梁。此外,我们可以很容易地发现该接口的很多方法是专为IDE中的可视化属性编辑器提供的:如getTags()、getJavaInitializationString()以及另外一些我们未此介绍的接口方法。

Java为PropertyEditor提供了一个方便类:PropertyEditorSupport,该类实现了PropertyEditor接口并提供默认实现,一般情况下,用户可以通过扩展这个方便类设计自己的属性编辑器。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值