spring.core包内有Converter接口,方法是T convert(S source);从一个类型转为内容一个类型的实际转化器;converters可能非常多,需要一个注册器来集中管理使用,ConverterRegistry接口担当此任务.ConversionService这个概念将converter的这层概念对上层屏蔽,以服务接口形式,是convert工作更好使用。GenericConversionServcie既是ConversionService也是ConverterRegistry,就有效的整合出了实际可产生作用的服务实现;

另外:GenericConversionSerivce支持GenericConverter,这个GenericConverter 从Set<ConvertiblePair> getConvertibleTypes();方法可以看出,可以支持多组soureType-->targetType的能力,但是作者自己也一般不要用,直接用简单的Converter就行了(1:1类型转化)。而且spring内部的ObjectToCollectionConverter,ArrayToArrayConverter,都是Generic的,但ConvertiblePairSet长度都是1(即1对1)

spring.beans包内有一个TypeConverter用来,对jdk的propertEditor的setAsText的场景的spring抽象;

PropertyEditorRegistrySupport 实现PropertyEditorRegistry接口。也是一个为Bean的property进行处理的创造的概念,基于propery的nested对象路径的结构,来扩展一种叫customEditor(即只特定的属性才生效,比如“user.address.description”,只对desciption进行特殊订定制的(除了满足类型要求外)。).

beanWrapper,SimpletTypeConverter(他们都是TypeConverter,也是PropertyEditorRegistry)都委托包内部类TypeConverterDelegate来代理"自己作为PropertyEditorRegistrySupport所收集到(持有的)propertyEditor"。这个委托价值,在于它就如何使用conversionService,CustomEditors,defaultEditors进行了定义;

spring.context中有个DataBinder同样既是TypeConverter,也是PropertyEditorRegistry。 默认最终是委托给BeanWrapper去执行。但它的意义是为validation领域提供了比较容易的概念“数据绑定器”。 DataBinder可以认为是一个壳,只是可以接受外部的配置,最终converter的配置和执行到要让beanWrpaper去坐的。可以立即。

另外:DataBinder,还整合validation,包括Validator,和Erros(BindingResult)。实际发生数据bind的地方就是是由AbstractPropertyBindResult,中的PropertyAccessor完成的。 validation发生在bind完成的 校验。

												

spring的Convert机制的更多相关文章

  1. spring事务传播机制实例讲解

    http://kingj.iteye.com/blog/1680350   spring事务传播机制实例讲解 博客分类:   spring java历险     天温习spring的事务处理机制,总结 ...

  2. Spring事务传播机制和数据库隔离级别

    Spring事务传播机制和数据库隔离级别 转载 2010年06月26日 10:52:00 标签: spring / 数据库 / exception / token / transactions / s ...

  3. Spring Ioc工作机制 初步

    Spring IoC工作原理 Spring 启动时读取应用程序提供的Bean配置信息,并在Spring容器中生成一份相应的Bean配置注册表,然后根据这张注册表实例化Bean,装配好Bean之间的依赖 ...

  4. Spring的事件机制详解

    同步事件和异步事件 同步事件:在一个线程里,按顺序执行业务,做完一件事再去做下一件事. 异步事件:在一个线程里,做一个事的同事,可以另起一个新的线程执行另一件事,这样两件事可以同时执行. 用一个例子来 ...

  5. spring 事务传播机制

    spring 事务 传播机制 描述的 事务方法直接相互调用,父子事物开启,挂起,回滚 等的处理方式. 绿色的 那几个 我认为比较重要. 1 , @Transactional(propagation=P ...

  6. 【转】Java异常总结和Spring事务处理异常机制浅析

    异常的概念和Java异常体系结构 异常是程序运行过程中出现的错误.本文主要讲授的是Java语言的异常处理.Java语言的异常处理框架,是Java语言健壮性的一个重要体现. Thorwable类所有异常 ...

  7. Spring事务管理机制的实现原理-动态代理

    之前在做项目中遇到spring无法进行事务代理问题,最后发现是因为没有写接口,原因当时明白了,看到这篇文章写的清楚些,转过来 我们先来分析一下Spring事务管理机制的实现原理.由于Spring内置A ...

  8. Spring事务传播机制与隔离级别(转)

    Spring事务传播机制与隔离级别 博客分类: Spring   转自:http://blog.csdn.net/edward0830ly/article/details/7569954 (写的不错) ...

  9. 7 -- Spring的基本用法 -- 3... Spring 的核心机制 : 依赖注入

    7.3 Spring 的核心机制 : 依赖注入 Spring 框架的核心功能有两个. Spring容器作为超级大工厂,负责创建.管理所有的Java对象,这些Java对象被称为Bean. Spring容 ...

随机推荐

  1. C++ 常见的 Undefined symbols for architecture *

    出现 Undefined symbols for architecture x86_64: 的原因 1.函数申明了,却未被定义. 2.申明的虚函数未被实现. NOTE: a missing vtabl ...

  2. Hive load from hdfs 出错

    hive 加载HDFS的数据时出现错误, FATAL:SemanticException [Error 10028] search了一下,跟他一样Hive load from hdfs 出错. 我按照 ...

  3. GO的初始简书(一)简介安装

    已经玩了很长一段时间的golang了,做个gopher,下面我将逐步展示各种go语言的开发,从入门开始哦,完全是凭着自己学习和实践的结果展示,如果有说的不对的,请指正. 简介 go语言是由Google ...

  4. Spring-AOP用法总结

    前言     Spring AOP的实现方法很多,在项目开发中具体采用什么方式,需要按实际情况来选择,每一种的用法,有其一定的实用价值,所以本文将各种使用方法进行了具体实现.主要包括Advice的be ...

  5. Hierarchy Viewer工具使用

    目前,在eclipse的ADT Android插件中,还不能启动Hierachy Viewer,但可以从Android SDK工具包中,通过命令行的方式可以启动,具体方法为,到Android SDK下 ...

  6. 企业账号打包如何通过HTML页面打开

    企业账号打包后 Plist文件加入前缀 href="itms-services://?action=download-manifest&url= Plist文件在服务器中的地址为:h ...

  7. Java微服务框架

    Java的微服务框架dobbo.spring boot.redkale.spring cloud 消息中间件RabbitMQ.Kafka.RocketMQ

  8. springboot 1.5.2 集成kafka 简单例子

    添加依赖 compile("org.springframework.kafka:spring-kafka:1.1.2.RELEASE") 添加application.propert ...

  9. PHP基础入门(一)---世界上最好用的编程语言

    作为一名程序员,我们应该都听过这样一个梗:PHP编程语言,是世界上最好用的编程语言~~~下面来和大家看一下,什么是PHP↓↓↓ PHP PHP又名超文本预处理器,是一种通用开源脚本语言.PHP主要适用 ...

  10. Elasticsearch和Kibana安装

    Elasticsearch安装 Elasticsearch至少需要Java 8.在撰写本文时,建议你使用Oracle JDK版本1.8.0_131.Java安装因平台而异,所以在这里不再赘述.Orac ...