参照を作成するためにSpringBootプロジェクト[SpringBoot] SpringBootクイックスタート(A)
この記事ではSpringBootプロジェクトのPOMファイルと自動的に構成]を記述する
POMファイル
1、SpringBootポンポンファイル、次のようにspringbootは、親プロジェクトに依存してご覧ください
1 < 親> 2 < のgroupId > org.springframework.boot </ groupIdを> 3 < たartifactId >ばねブートスタータ親</ たartifactId > 4 < バージョン> 2.1.8.RELEASE </ バージョン> 5 </ 親>
春ブーツの本当のバージョンであるspringbootの親プロジェクト持つ親プロジェクトは、すべての依存アプリケーションの内部を管理します
1 < 親> 2 < のgroupId > org.springframework.boot </ groupIdを> 3 < たartifactId >スプリングブート依存性</ たartifactId > 4 < バージョン> 2.1.8.RELEASE </ バージョン> 5 < relativePath > ../ ../spring-boot-dependencies </ relativePath > 6 </ 親>
輸入依存度は、デフォルトバージョン(依存関係の管理を依存している自然バージョン番号を宣言する必要はありません)を記述する必要はありません後
2、SpringBootスタータ
春・ブート・スターター:春ブートシーンイニシエータ、私たちはウェブアセンブリモジュールを導入するヘルプが正常に依存して動作しています
1 < 依存> 2 <! - バージョン番号、依存親プロジェクト(春・ブート・スターター・親のバージョン番号の書き込みする必要はありません ) 管理- > 3 <! - SpringBootすべての機能を抽出シーン、作られたAスターター(始動)、 4 プロジェクトでは、これらのスターター関連シーンを紹介するだけでは、すべてのインポートに使用するものスターターどの機能に輸入に依存します- > 5 < 依存> 6 < groupIdを> org.springframework.boot </ のgroupId > 7 < たartifactId >春ブートスタータウェブ</ たartifactId > 8 </ 依存> 9 </ 依存関係>
メインプログラムの、正面玄関クラス
図1に示すように、メインプログラムの入口クラス
1 / ** 2 * @SpringBootApplicationは説明スプリングブートアプリケーションでメインプログラムをマークするために使用される 。3 * / 4 @SpringBootApplication 。5つの パブリック クラスアプリケーション{ 。6 。7 パブリック 静的 ボイドメイン(文字列[]引数)を{ 。8 。9 // Springアプリケーション起動 10 SpringApplication.run(アプリケーションクラス、引数を); 11 } 12です }
2、SpringBootコメント
、@ SpringBootApplication:このクラスで説明した春のブートラベルアプリケーションは、主要構成をSpringBootクラスであり、
SpringBootはSpringBootアプリケーションを起動するには、このクラスのmainメソッドを実行する必要があります。
1 @Target(ElementType.TYPE) 2 @Retention(RetentionPolicy.RUNTIME) 3 @Documented 4 @Inherited 5 @SpringBootConfiguration 6 @EnableAutoConfiguration 7 @ComponentScan(excludeFilters = {@Filter(タイプ= FilterType.CUSTOM、クラス= TypeExcludeFilter。クラス) 、 8 @Filter(タイプ= FilterType.CUSTOM、クラス= AutoConfigurationExcludeFilter。クラス)}) 9 パブリック @ インタフェース SpringBootApplication {
B、@ SpringBootApplication> @SpringBootConfiguration:春ブートの設定クラス、春のブートの設定クラスによって表されるクラス、上にマーク。
C、@ SpringBootApplication> @SpringBootConfiguration> @Configuration:注釈機能の設定には、最大で示さ; -----プロファイルの設定クラスを、コンフィギュレーションクラスは、アセンブリのコンテナです。@Component
D、@ SpringBootApplication> @EnableAutoConfiguration:自動設定機能をオンにし、何かのSpring構成、自動設定機能を開くSpringBoot;自動設定を有効にするには、
1 @Target(ElementType.TYPE) 2 @Retention(RetentionPolicy.RUNTIME) 3 @Documented 4 @Inherited 5 @AutoConfigurationPackage 6 @import(AutoConfigurationImportSelector。クラス) 7 パブリック @ インタフェース EnableAutoConfiguration {
E、@ SpringBootApplication> @EnableAutoConfiguration> @AutoConfigurationPackage:自動構成パッケージ
F、@ SpringBootApplication> @EnableAutoConfiguration> @AutoConfigurationPackage> @import(AutoConfigurationPackages.Registrar.class):@import、容器は成分に導入されるスプリングボトムノート; AutoConfigurationPackages.Registrar.classによって導入コンポーネント。
ここで、全ての一次パッケージ構成のクラスのすべてのコンポーネント(@SpringBootApplicationクラスラベル)とスキャンスプリング容器内部の下部サブパケット。
G、@ SpringBootApplication> @EnableAutoConfiguration> @import(EnableAutoConfigurationImportSelector.class);インポートコンテナに選択コンポーネント、
EnableAutoConfigurationImportSelector:アセンブリセレクタを導入し、これらの成分を容器に添加され、クラスの方法の完全な名前を返すために必要なすべてのコンポーネントを読み込みます。
これは、自動コンフィギュレーションクラス(xxxAutoConfiguration)輸入コンテナの多くを提供します。このシナリオでは、コンテナに必要なすべてのコンポーネントをインポートし、これらのコンポーネントを設定することです。
自動コンフィギュレーション・クラスと、手動注入動作など機能部品の構成を記述する必要がなくなり、SpringFactoriesLoader.loadFactoryNames(EnableAutoConfiguration.class、クラスローダ)。
春ブーツEnableAutoConfigurationは、META-INFで指定された値を取得します/起動時にクラスパスをspring.factories
J2EE全体的な統合ソリューションと自動設定は、ばねブート自動構成-2.1.8.RELEASE.jarです。