検索
ホームページバックエンド開発Python チュートリアルSpring Boot の 3 つのコア アノテーションの紹介 (コード付き)

この記事では、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思否で複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
Python:編集と解釈に深く掘り下げますPython:編集と解釈に深く掘り下げますMay 12, 2025 am 12:14 AM

pythonusesahybridmodelofcompilation andtertation:1)thepythoninterpretercompilessourcodeodeplatform-indopent bytecode.2)thepythonvirtualmachine(pvm)thenexecuteTesthisbytecode、balancingeaseoputhswithporformance。

Pythonは解釈されたものですか、それとも編集された言語であり、なぜそれが重要なのですか?Pythonは解釈されたものですか、それとも編集された言語であり、なぜそれが重要なのですか?May 12, 2025 am 12:09 AM

pythonisbothintersedand compiled.1)it'scompiledtobytecode forportabalityacrossplatforms.2)bytecodeisthenは解釈され、開発を許可します。

ループ対pythonのループの場合:説明されたキーの違いループ対pythonのループの場合:説明されたキーの違いMay 12, 2025 am 12:08 AM

loopsareideal whenyouwhenyouknumberofiterationsinadvance、foreleloopsarebetterforsituationsは、loopsaremoreedilaConditionismetを使用します

ループのために:実用的なガイドループのために:実用的なガイドMay 12, 2025 am 12:07 AM

henthenumber ofiterationsisknown advanceの場合、dopendonacondition.1)forloopsareideal foriterating over for -for -for -saredaverseversives likelistorarrays.2)whileopsaresupasiable forsaresutable forscenarioswheretheloopcontinupcontinuspificcond

Python:それは本当に解釈されていますか?神話を暴くPython:それは本当に解釈されていますか?神話を暴くMay 12, 2025 am 12:05 AM

pythonisnotpurelyLepted; itusesahybridapproachofbytecodecodecodecodecodecodedruntimerttation.1)pythoncompilessourcodeintobytecode、whodythepythonvirtualmachine(pvm).2)

同じ要素を持つPython Concatenateリスト同じ要素を持つPython ConcatenateリストMay 11, 2025 am 12:08 AM

ToconcatenateListsinpythothesheElements、使用:1)Operatortokeepduplicates、2)asettoremoveduplicates、or3)listcomplunting for controloverduplicates、各メトドハスディフェルフェルフェントパフォーマンスアンドソーダーインプリテーション。

解釈対編集言語:Pythonの場所解釈対編集言語:Pythonの場所May 11, 2025 am 12:07 AM

pythonisantertedlanguage、useaseofuseandflexibility-butfactingporformantationationsincriticalapplications.1)解釈されたlikepythonexecuteline-by-lineを解釈します

ループのために:Pythonでそれぞれを使用するのはいつですか?ループのために:Pythonでそれぞれを使用するのはいつですか?May 11, 2025 am 12:05 AM

Useforloopswhenthenumberofiterationsisknowninadvance、andwhiloopswheniterationsdependonacondition.1)forloopsareidealforsecenceslikelistoranges.2)

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール