以下は具体的な実装方法です
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。
詳しくはこちらをご覧ください