ホームページ >Java >&#&チュートリアル >Spring Boot の 25 のコア アノテーションとは何ですか?

Spring Boot の 25 のコア アノテーションとは何ですか?

hzc
hzcオリジナル
2020-06-22 11:55:163544ブラウズ

Spring Boot の 25 のコア アノテーションとは何ですか?

Spring Boot の 25 のコア アノテーション

1、@SpringBootApplication

これは Spring Boot の最もコアなアノテーションであり、これを Spring Boot アプリケーションとして識別するために Spring Boot メイン クラスで使用され、Spring Boot のさまざまな機能を有効にするために使用されます。

実際、このアノテーションは 3 つのアノテーション @SpringBootConfiguration@EnableAutoConfiguration@ComponentScan を組み合わせたものです。これらを使用することもできます。 3 つのアノテーション。@SpringBootApplication アノテーションを置き換えます。

2. @EnableAutoConfiguration

Spring Boot によるアノテーションの自動構成を許可します。このアノテーションをオンにすると、Spring Boot は次に従ってアノテーションを構成できます。現在のクラスパス Spring Bean を構成するパッケージまたはクラス。

例: 現在のクラスパスの下に Mybatis JAR パッケージがあり、MybatisAutoConfiguration アノテーションにより、関連するパラメーターに基づいて Mybatis の各 Spring Bean を構成できます。

3, @Configuration

これは、applicationContext.xml 設定ファイルを置き換えるために Spring 3.0 によって追加されたアノテーションです。その中で実行できることは、このアノテーションが配置されているクラスを通じて登録できます。

4. @SpringBootConfiguration

このアノテーションは、@Configuration アノテーションのバリアントであり、Spring Boot 構成を変更するため、またはその後の拡張を容易にするためにのみ使用されます。スプリングブーツの。

5, @ComponentScan

これは、設定ファイル内のコンポーネントスキャン設定を置き換え、コンポーネントスキャンを有効にする、つまり自動を有効にするために Spring 3.1 によって追加されたアノテーションです。パッケージ パスの下の @Component アノテーションは、Bean インスタンスをコンテキストに登録します。

最初の 5 つのアノテーションについては、この記事「Spring Boot の 3 つのコア アノテーションの詳細な説明」で詳しく学ぶことができます。

6, @Conditional

これは Spring 4.0 によって追加された新しいアノテーションです。Spring Bean または構成設定ファイルを識別するために使用されます。構成は次のとおりです。指定された条件が満たされた場合に有効になります。

7、@ConditionalOnBean

の組み合わせ @Conditional アノテーション。コンテナ内に指定された Bean がある場合にのみ設定が有効になります。

8、@ConditionalOnMissingBean

combination@Conditional アノテーション、および @ConditionalOnBean アノテーションの反対 (存在する場合)コンテナBean設定で指定したnoが有効になります。

9、@ConditionalOnClass

@Conditional アノテーションの組み合わせ。コンテナ内に指定されたクラスが存在する場合にのみ構成が有効になります。

10、@ConditionalOnMissingClass

combination@Conditional アノテーション。これは、@ConditionalOnMissingClass アノテーションの反対です。コンテナ内で指定されていない クラスのみ設定可能です。

11, @ConditionalOnWebApplication

combination @Conditional この構成は、現在のプロジェクト タイプが WEB プロジェクトの場合にのみ有効にできることに注意してください。

現在のプロジェクトには以下の3種類があります。

enum Type {    /**     * Any web application will match.     */    ANY,    /**     * Only servlet-based web application will match.     */    SERVLET,    /**     * Only reactive-based web application will match.     */    REACTIVE}

12、@ConditionalOnNotWebApplication

combination@Conditional アノテーション、@ConditionalOnWebApplication アノテーション、現在のプロジェクト タイプとは対照的構成は WEB プロジェクトに対してのみ有効です。

13、@ConditionalOnProperty

組み合わせ @Conditional 注釈。指定されたプロパティが指定された値を持つ場合にのみ構成が有効になります。

14、@ConditionalOnExpression

の組み合わせ @Conditional アノテーション。構成は SpEL 式が true の場合にのみ有効になります。

15、@ConditionalOnJava

の組み合わせ @Conditional アノテーション。この構成は、実行中の Java JVM が指定されたバージョン範囲内にある場合にのみ有効になります。

16、@ConditionalOnResource

組み合わせ @Conditional アノテーション。クラスパスに指定されたリソースがある場合にのみ構成が有効になります。

17、@ConditionalOnJndi

の組み合わせ @Conditional アノテーション。この構成は、指定された JNDI が存在する場合にのみ有効になります。

18、@ConditionalOnCloudPlatform

組み合わせ @Conditional この構成は、指定されたクラウド プラットフォームがアクティブ化されている場合にのみ有効になることに注意してください。

19、@ConditionalOnSingleCandidate

combination@Conditional アノテーション、指定されたクラスのコンテナ内に Bean が 1 つだけある場合、または複数の Bean がある場合必要な場合にのみ構成を有効にしてください。

20、@ConfigurationProperties

は、@Configuration で使用できる追加の構成 (.properties ファイルなど) を読み込むために使用されます。注釈クラス、または@Bean 注釈メソッドの上。

このアノテーションの使用方法については、記事「Spring Boot が構成を読み取るためのいくつかの方法」を参照してください。

21. @EnableConfigurationProperties

は通常、@ConfigurationProperties アノテーションと組み合わせて使用​​され、@ConfigurationProperties アノテーションを有効にします。構成、Bean のサポート。

22、@AutoConfigureAfter

用在自动配置类上面,表示该自动配置类需要在另外指定的自动配置类配置完之后。

如 Mybatis 的自动配置类,需要在数据源自动配置类之后。

@AutoConfigureAfter(DataSourceAutoConfiguration.class)public class MybatisAutoConfiguration {

23、@AutoConfigureBefore

这个和 @AutoConfigureAfter 注解使用相反,表示该自动配置类需要在另外指定的自动配置类配置之前。

24、@Import

这是 Spring 3.0 添加的新注解,用来导入一个或者多个 @Configuration 注解修饰的类,这在 Spring Boot 里面应用很多。

25、@ImportResource

这是 Spring 3.0 添加的新注解,用来导入一个或者多个 Spring  配置文件,这对 Spring Boot 兼容老项目非常有用,因为有些配置无法通过 Java Config 的形式来配置就只能用这个注解来导入。

推荐教程: 《java教程

以上がSpring Boot の 25 のコア アノテーションとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。