スプリングブーツの自動組立


1. スプリングブーツとは?

Springboot は本質的には spring ですが、Spring のような面倒な構成を必要としないため、開発プロセスが簡素化されますが、Spring のコア機能は提供されず、Spring の足場にすぎません。

依存関係 (スターター) を導入することで、自動的にアセンブルする必要がある対応するクラスが spring.factories ファイルから取得され、対応する Bean オブジェクトが生成され、Spring コンテナーに渡されて管理されます。スプリングブーツの自動組立。

2. spring.factories ファイルの重要性

メインプログラムの入り口で、 @SpringBootApplication アノテーションについて:

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(excludeFilters = {
    
     @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),
        @Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })
public @interface SpringBootApplication {
    
    

@ComponentScan@SpringBootApplicationアノテーションとは、アノテーション付きエントリー・プログラム・クラスが配置されているベースパッケージの下にあるすべてのアノテーション付き Bean をスキャンし@Component、それらをコンテナーに注入することを指します。

ただし、maven 座標の依存関係に追加される jar パッケージの場合は、プロジェクトのルート ディレクトリ外の Bean です。@EnableAutoConfigurationプロジェクト パッケージ外で Bean を登録するためのアノテーション。spring.factories ファイルは、プロジェクト パッケージの外部に登録する必要がある Bean クラス名を記録するために使用されます。

3. スプリングブーツ自動組立工程

springboot が起動すると、**Applicationオブジェクトが作成され、オブジェクトの構築メソッドでいくつかのパラメーターが初期化されます. 最も重要なことは、現在のアプリケーションのタイプを判断し、イニシャライザーとリスナーを設定することです. このプロセスで、Spring はファクトリファイルは、 AutoConfigurationクラスが@Conditionalそのアノテーションで指定された有効条件 (Starters によって提供される依存関係、構成または Bean が Spring コンテナーに存在するかどうかなど) を満たす場合、AutoConfiguration クラスで定義された Bean をインスタンス化し、それを注入します。 Springコンテナに、依存フレームワークの自動構成を完了できます。
ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/weixin_44153131/article/details/129678752