SpringBootアプリケーションには、どのような基本的なアノテーションが含まれていますか。
Spring Bootアプリケーションには、以下のメタアノテーションが含まれています:
- @SpringBootApplicationは、Spring Bootアプリケーションを起動するための主要なクラスにマークを付けるアノテーションです。これは、@ComponentScan、@EnableAutoConfiguration、@Configurationアノテーションを含む複合アノテーションです。
- @Configuration:XML設定ファイルの代わりに、クラスを設定クラスとしてマークします。
- @EnableAutoConfiguration: クラスパスの依存関係に基づいてSpring Beanを自動的に設定する自動設定機構を有効にします。
- @ComponentScanアノテーションは、Springコンポーネント(例えばController、Service、Repositoryなど)を探すために指定されたパッケージのスキャンを行います。
- @RestControllerは、クラスをRESTfulスタイルのコントローラーとしてマークし、HTTPリクエストやレスポンスを処理するために使用されます。
- @RequestMappingは、メソッドをHTTPリクエストのパスにマッピングする。
- @Autowiredは、依存関係を自動的に注入し、Spring Beanをクラスに型一致で挿入します。
- @Value:外部の設定ファイルに値を注入する。
- @Bean:SpringのBeanとしてメソッドをマークして、コンテナがそのライフサイクルを管理できるようにします。
- @Component:Springコンポーネントとしてクラスをマークし、自動的にスキャンしてBeanとして登録する。
- @Repository:Springのコンポーネントとしてクラスをデータアクセス層にマーキングします。
- @Service:Springコンポーネントをビジネスロジック層としてマークする。
- @Controller:Springコンポーネントとしてクラスを制御層としてマークします。
- @ConfigurationProperties:設定ファイルのプロパティーをクラスのフィールドにバインドします。
- @EnableSwagger2を使って、APIドキュメントを生成するためにSwagger2を有効にします。
これらのメタアノテーションは、Spring Bootアプリケーションでよく使用されるアノテーションであり、Spring Beanの構成と管理、リクエストとレスポンスの処理などを行います。