SpringBootコンフィギュレーション解析

コンフィギュレーションの解析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 }

 

 

 

おすすめ

転載: www.cnblogs.com/kevin-yuan/p/12132589.html