目前ConfigurationPropertySources
已添加到环境中,以便轻松的属性解析可以直接工作。它ConfigurationPropertySources
充当现有财产来源的门面。
当进行诸如 之类的调用时environment.getProperty("test")
,如果找到该属性,ConfigurationPropertySources
则将返回结果。但是,如果未找到该属性,则ConfigurationPropertySources
继续PropertySourcesPropertyResolver
检查所有后续来源。对于已经通过 进行检查的任何来源来说,这有点低效ConfigurationPropertySources
。
报告原文:
getProperty(String key, Class<T> targetValueType, boolean resolveNestedPlaceholders)
inorg.springframework.core.env.PropertySourcesPropertyResolver
遍历了 all PropertySources
,那么为什么要使用ConfigurationPropertySourcesPropertySource
来包装这些PropertySources
集合,并且ConfigurationPropertySourcesPropertySource
也会被遍历呢?这样看来,ConfigurationPropertySourcesPropertySource
已经遍历完之后,剩下的元素再遍历似乎没什么意义了,因为ConfigurationPropertySourcesPropertySource
已经被检查过了