コンフィギュレーションの解析SpringBootは環境によって達成されます。
環境自体はPropertyResolverインタフェースは、最終的に解決構成にPropertySourcesPropertyResolverに委託します実装します。
org.springframework.core.env.PropertySourcesPropertyResolver.getProperty
1 保護された <T> TのgetProperty(String型のキー、クラス<T> targetValueType、ブールresolveNestedPlaceholders){ 2 であれば(これは .propertySources =!ヌル){ 3 用(PropertySource propertySource <?>:この .propertySources){ // 1。循环PropertySources 4 もし(logger.isTraceEnabled()){ 5 logger.trace( ' "PropertySourceで" ' "キーを検索する" +キー+' + 6 propertySource.getName()+ "'" )。 7 } 8 値= propertySource.getPropertyオブジェクト(キー); // 2 PropertySourceの構成に対応するキーから取得した 。9 IF(!値= ヌル){ 10 IF(&&値resolveNestedPlaceholders instanceofの文字列){ 11 値= resolveNestedPlaceholders((文字列)値); // 3.分析プレースホルダ{} $ 12である } 13は logKeyFound(キー、propertySource、値); 14 戻り convertValueIfNecessary(値、targetValueType); // 4.指定された型に変換 15 } 16 } 17 } 18 であれば(logger.isTraceEnabled()){ 19 logger.trace( "キーが見つかりませんでした'" "は、任意のプロパティ・ソースの" +キー+' ); 20 } 21 リターン ヌル。 22 }