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