ホームページ  >  記事  >  バックエンド開発  >  Spring Boot の 3 つのコア アノテーションの紹介 (コード付き)

Spring Boot の 3 つのコア アノテーションの紹介 (コード付き)

不言
不言転載
2018-10-16 13:55:073447ブラウズ

この記事では、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 つのコア アノテーションの紹介 (コード付き)


以上がSpring Boot の 3 つのコア アノテーションの紹介 (コード付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はsegmentfault.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。