所有的应用都存在配置,比较常见就是以配置文件的形式出现,比如:SpringBoot 应用中的 application.properties 或者 application.yaml。
配置有一个明显的特点就是键值对,配置并不局限于配置文件,只要是键值对形式的都可以作为配置使用,比如:启动命令中可以通过 -D 携带配置,甚至内存中的 Map 也可以作为配置。
每一个出现配置的地方,可以认为是一个配置源,一个应用中可以出现多个配置源。不同配置源中的配置可能存在重复的现象,所以多个配置源之间需要有一个优先级。
索引
PropertySource - 配置源
Spring 抽象了一个 PropertySource 抽象类用于表示配置源,配置源包含两个元素:
- 名字(name),名字是配置源的唯一标识,多个配置源通过名字进行区分。
- 源(source),存储配置的数据结构,可以是
Map、Properties或者其它任何可以存储键值对的数据结构。
public abstract class PropertySource<T> {
protected
本文详细探讨了Spring框架中的PropertySource配置源,包括MapPropertySource、PropertiesPropertySource、ResourcePropertySource、StubPropertySource和RandomValuePropertySource等实现类。PropertySource抽象类代表配置源,具有名字和源两个元素。MapPropertySource使用HashMap存储配置,PropertiesPropertySource通过Properties加载配置文件,ResourcePropertySource实现了资源加载,StubPropertySource为空配置源,RandomValuePropertySource提供随机配置值。同时,文章还介绍了PropertySources,即配置源列表,由MutablePropertySources实现,存储配置源的ArrayList。
订阅专栏 解锁全文
1497

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



