自動構成とは何ですか
以前は、Spring + mybatis フレームワークを統合する場合、sqlSessionFactory などの多くの Bean を追加する必要がありました。
現在は springboot がそれを行ってくれるので、対応するスターターを導入するだけで済みます。
springBoot は、mysql、mogondb 関連の操作など、現在 100 以上の Bean の設定に役立ちます。
一つ一つインポートする必要はありません。
単一のインポートは非効率すぎます。
一括インポートを実現するにはどうすればよいですか?
@import(AutoConfigurationImportSelector.class) は、
AutoConfigurationImportSelector.selectImports メソッドを通じて構成クラス コレクションをインポートします。
もちろん、他の jar に構成クラスが存在することもありますが、すべてがスターターにある必要はありません。
他の jar で springBoot に積極的に通知し、それが構成クラスであることを示す必要があります。ファイル パスは meta-inf/spirng.factories です。
ステップを見つける
1 jar 検索ファイル
meta-inf/sping.factories
2 鍵を見つける
value は構成クラスです。
4 重複排除
5 classLoader がクラスをロードします - 自動構成クラス名を見つけます
6 無関係な構成クラスをフィルタリングする
まず依存関係を調べ、pom 内に依存関係があるかどうかを確認し、次にキー クラスがあるかどうかを確認します。
135 の構成クラスがあり、無関係な構成クラスも多くあります。
spring-autoconfigure-metadata.propertes ファイルを通じて
最初に他の JVM で Spring コンテナーを開始すると、速度が遅くなります。
他の
springBoot3.0 以降は、gravVM テクノロジーが使用され、コンパイル時に Bean がスキャンされます。後で開始する場合は、Bean を直接登録してロードするため、再度スキャンする必要はありません