Spring的BeanFactory重要属性之PropertyEditor,如何bean的属性转换

 

PropertyEditor是什么?

PropertyEditor是JavaBean规范里,提供的一个高级接口,该接口提供了一些方法规范,这些方法可以将JavaBean的外部数据String类型的数据,转换成JavaBean的内部属性值。

PropertyEditorSupport是什么?

PropertyEditorSupport是jdk为我们提供的一种实现了PropertyEditor的实现类,我们可以通过继承该类重写我们需要的方法。

PropertyEditorRegistrar是什么?

PropertyEditorRegistrar是Spring官方提供的接口,通过实现该接口,我们可以将自定义的PropertyEditor实现类,统一集中到一起进行管理,该接口的唯一方法如下:
               void registerCustomEditors(PropertyEditorRegistry registry);

 

 

PropertyEditorRegistry是什么?

PropertyEditorRegistry是Spring集中管理的PropertyEditor的容器接口,该接口规定了这个容器的一些基本操作,他提供了一个默认容器,即PropertyEditorRegistrySupport。

 

PropertyEditorRegistrySupport是什么?

PropertyEditorRegistrySupport是Spring提供的一个默认的,用于管理PropertyEditor接口实现类的容器,该容器内部使用一个Map类,实现了Class 与 对应解析器的映射。同时,它还对PropertyEditor进行了一个类型划分,分别是以下三中类型:

默认类型的解析器:即spring提供的内部解析器集合,该集合的使用优先级最低,即没有解析器可用的情况下,这个解析器才会起作用。

可覆盖默认类型的解析器:即当寻找默认类型解析器时,先从这里找,这里找不到再去默认类型解析器里找。

用户自定义类型的解析器:即存放用户自定义的类型解析器,该类型解析器的使用优先级最高。为了对用户自定义的解析器进行更细粒度上的控制,提供了根据

【注:spring留了个优化心眼,那就是默认的类型解析器,并不会一开始就初始化好,而是等着从可覆盖里找不到,才去初始化】

BeanFactory是什么?

BeanFactory是一个bean工厂,他与PropertyEdit的关系是,通过内部持有一个PropertyEditorRegistry的集合,对PropertyEditorRegistry进行集中式管理。

 

CustomEditorConfigurer是什么?

CustomEditorConfigurer是一个BeanFactoryPostProcessor的实现类,这个类的主要作用,就是通过BeanFactoryPostProcessor的拦截,实现将自己的内部属性
PropertyEditorRegistrar[] propertyEditorRegistrars,在bean的生命周期开始前,进行注册自定义的PropertyEditorRegistrar

 

 

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值