概述
Spring 使用接口PropertyResolver抽象了从底层来源获取属性的基本功能,和解析${...}这样的占位符的功能。
至于底层属性源具体是什么,如何抽象,是一个属性源还是聚合了多个属性源,这些都由实现子类在实现层面考虑。
该接口位于
org.springframework.core.env。
源码解析
该接口定义的功能如下 :
boolean containsProperty(String key)– 是否包含某个属性String getProperty(String key)– 获取指定属性的值(字符串类型),不存在的话返回nullString getProperty(String key, String defaultValue)– 获取指定属性的值(字符串类型),不存在的话返回defaultValueT getProperty(String key, Class<T> targetType)– 获取指定属性的值(指定类型),不存在的话返回nullT getProperty(String key, Class<T> targetType,T defaultValue)– 获取指定属性的值(指定类型),不存在的话返回defaultValueString getRequiredProperty(String key)– 获取指定属性的值(字符串类型),不存在的话抛出异常IllegalStateExceptionString getRequiredProperty(String key, Class<T> targetType)– 获取指定属性的值(指定类型),不存在的话抛出异常IllegalStateExceptionString resolvePlaceholders(String text)– 解析text中的${...}占位符,忽略不能解析的占位符String resolveRequiredPlaceholders(String text)– 解析text中的${...}占位符,如果占位符不能被解析则抛出异常IllegalArgumentException
参考文章
Spring 工具建模 – PropertySourcesPropertyResolver 从PropertySources解析属性

本文深入探讨Spring中PropertyResolver接口的功能,包括从底层属性源获取属性和解析${...}

被折叠的 条评论
为什么被折叠?



