SpringApplicationのSpringApplication準備フェーズ1を理解する

以下は具体的な実装方法です

1。

BeanDefinitionLoaderのロードクラスのメソッドから確認できます。あなたは2つの方法を見ることができます

これは、パターンアノテーション@springBootApplication-"@ springBootConfigertion-" @componentを使用してロードされます。

これは、クラスまたはxmlを使用する2番目の方法です

2。

上記からわかるように、サーブレット、webmvc、およびwebreactiveが同時に存在する場合、優先度はサーブレットの大から小へ-"webmvc-> webreactive

もちろん、タイプを強制することができます

3。

4。

Springファクトリのロードメカニズムを使用して、ApplicationContextInitializerインターフェースの実装クラスをインスタンス化します。ロードされた実装クラスは、

MATE-INF / spring.factoriesファイルでは、getSpringFactoriesInstances(Class <T> type、Class <?> [] parameterTypes、Object ... args)メソッドが構成クラスをロードし、インスタンス化とソートの後にリスナーに続いてそれを返します。 、Exception Collector、Runnerなども、このクラスを通じて対応する実装クラスをインスタンス化します。
 

5。

詳しくはこちらをご覧ください

https://blog.csdn.net/qq_25885525/article/details/81784424

おすすめ

転載: blog.csdn.net/qq_41023026/article/details/90199943