この記事では、Spring Boot の 3 つのコア アノテーション (コード付き) を紹介します。これには一定の参考価値があります。必要な友人は参照できます。お役に立てば幸いです。
最近、何人かの Java 開発者にインタビューしましたが、その中には実際に社内で Spring Boot を使用している人もいれば、趣味として空き時間に Spring Boot を学習している人もいます。しかし、Spring Boot の 3 つのコア アノテーションとは何かと尋ねると、答えられる人がほとんどいないのが残念でした。こちらもポイントが消費される場合があります!
Spring Boot コアのアノテーションの説明
Spring Boot の最大の特徴は、XML 構成ファイルを必要とせず、パッケージのパスを自動的にスキャンしてロードおよびインジェクトできることです。オブジェクトを作成し、クラスパスに従って実行できます。以下の jar パッケージは自動的に構成されます。
したがって、Spring Boot の 3 つのコア アノテーションは次のとおりです:
1、@Configuration
org.springframework.context.annotation.Configuration
これは、applicationContext.xml 設定ファイルを置き換えるために Spring 3.0 によって追加されたアノテーションです。この設定ファイルで実行できるすべてのことは、このアノテーションが配置されているクラスを通じて登録できます。
次の関連する考慮事項も非常に重要です。
@Bean
は、XML 構成ファイル内の
@ImportResource
クラス登録を通じて一部を構成できない場合は、このアノテーションを通じて追加の XML 構成ファイルを導入できます。一部の古い構成ファイルは渡せません @Configuration
構成メソッドは非常に便利です。
@Import
1 つ以上の追加 @Configuration で変更された構成ファイル クラスを導入するために使用されます。
@SpringBootConfiguration
このアノテーションは @Configuration アノテーションのバリアントであり、Spring Boot 構成を変更するため、またはその後の Spring の拡張を容易にするためにのみ使用されます。 Boot. ソースコードは以下の通り。
@Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented @Configuration public @interface SpringBootConfiguration { }
2、@ComponentScan
org.springframework.context.annotation.ComponentScan
これは、コンポーネントを置き換えるために Spring 3.1 によって追加されたアノテーションです。構成ファイル内の -scan 構成は、コンポーネントのスキャンをオンにします。つまり、パッケージ パスの下にある @Component アノテーションを自動的にスキャンして、Bean インスタンスをコンテキストに登録します。
さらに、@ComponentScans は反復可能なアノテーションです。つまり、複数のアノテーションを構成して、さまざまなサブパッケージを構成および登録できます。
3, @EnableAutoConfiguration
org.springframework.boot.autoconfigure.EnableAutoConfiguration
フルパスを見るとわかります。 Spring Boot の誕生 追加されたアノテーションは自動設定を提供するために使用されます. 上記 2 つは spring-context
パッケージの下にあり、Spring Boot には属しません. したがって、Spring 3.0 以降の XML 設定方法はSpring Boot に向けて準備されました。
自動構成の詳しい使い方や実戦については、こちらの記事「Spring Boot自動構成の原理と実戦」をご覧ください。
Spring Boot の 3 つのコア アノテーションが紹介されましたが、最も重要なアノテーション @SpringBootApplication がなぜその中に含まれていないのかと疑問を持つかもしれません。
皆さんのためのイースターエッグです。実際、この @SpringBootApplication アノテーションには上記の 3 つの主要なアノテーションが含まれています。カスタム構成が必要ない場合は、@SpringBootApplication アノテーションを使用してください。
@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 { ... }
以上がSpring Boot の 3 つのコア アノテーションの紹介 (コード付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。