1. 本文列出Spring对一些一般性工具的抽象建模,它们可能是接口,也可能是类。
  2. 这里所谓"工具",一般是是指它能对某个名词实体做某种动词性操作,比如"属性解析器",表示这是一个"工具",它能对"属性"进行"解析"。
  3. 所谓"一般性"工具,指的是该工具在Spring框架层面都适用,而不是仅应用在某个特定情形下。比如"属性解析器"就是一个一般性工具,因为它在整个Spring框架中的都被广泛使用。而"容器后置处理器"就不算是一个一般性工具,它仅仅在bean容器实例化之后,需要对容器进行特定处理的这种特定情形下才被应用。


属性解析相关

  • PropertyResolver
  • 功能 : 从底层属性源中解析属性。除了基本的属性解析功能,还定义了解析${…}这样的占位符的功能。
  • 抽象类型 :​​接口​
  • 所在包 :​​org.springframework.core.env​
  • ConfigurablePropertyResolver
  • 功能 : 增强​​PropertyResolver​​​,可以设置转换服务​​ConfigurableConversionService​​​用于进行必要的类型转换,​​可以设置占位符前缀,后缀,值分隔符​​,可以设置是否占位符解决不了时是否抛出异常,可以设置那些属性势必要属性。
  • 抽象类型 :​​接口​
  • 所在包 :​​org.springframework.core.env​
  • PropertySourcesPropertyResolver
  • 功能 : 从PropertySources类型的属性源中解析属性,实现了接口​​ConfigurablePropertyResolver​​​。所使用类型转换服务缺省是​​DefaultConversionService​​。占位符前缀缺省为"${“,后缀未”}“。值分隔符缺省为”:"。
  • 抽象类型 :​​类 ​
  • 所在包 :​​ org.springframework.core.env​
  • PropertyPlaceholderHelper
  • 功能 : 给定一个属性值,含有占位符尚未解析,和一个用于解析占位符的属性对象​​Propertie​​​,或者一个占位符解析对象​​PlaceholderResolver,​​解析属性值中需要解析的占位符。
  • 抽象类型 :​​ 类​
  • 所在包 :​​org.springframework.util​