Spring Bootアプリケーションにはどのようなアノテーションが含まれていますか?
SpringBootアプリケーションには、以下のよく使われるアノテーションが含まれています:
- @SpringBootApplicationは、アプリケーションのメインクラスにマークを付け、SpringとSpring Bootの機能を自動で設定します。これは、@EnableAutoConfiguration、@ComponentScan、@Configurationの3つの注釈の組み合わせです。
- @RestControllerアノテーションを付けると、そのクラスをRESTfulコントローラーとして扱い、HTTPリクエストを処理してJSONやXMLなどの形式でレスポンスを返すことができます。
- @RequestMapping:特定のURLパスにメソッドまたはクラスをマッピングする。
- @GetMapping、@PostMapping、@PutMapping、@DeleteMappingなど:GET、POST、PUT、DELETEなどのHTTPリクエストメソッドにメソッドをマッピングします。
- @PathVariable: URLのパス変数をメソッドの引数にバインドするために使用されます。
- @RequestParamは、リクエストパラメータをメソッドのパラメータにバインドするために使用されます。
- @RequestBody:メソッドパラメーターにリクエストボディをバインドし、通常はJSONやXML形式のリクエストを受け取るために使用されます。
- @ResponseBodyアノテーションは、メソッドの戻り値を直接クライアントに返すために使用され、通常はJSONやXML形式のレスポンスを返すのに利用されます。
- @Autowiredは、依存オブジェクトを自動で設定するためのものです。
- @Valueアノテーション:設定された属性値をフィールドやメソッドのパラメータにインジェクトするために使用されます。
- @ConfigurationProperties:設定値をクラスにバインドするために使用される。
- @EnableJpaRepositoriesを有効にする:JPAリポジトリを有効にします。
- @Entity:JPAエンティティとしてクラスをマークします。
- @Repositoryは、クラスをデータアクセスコンポーネントとしてマークします。
- @Service:クラスをビジネスロジックコンポーネントとしてマークします。
これらはSpringBootでよく使用される注釈ですが、具体的な要件に応じて他の多くの注釈も使用できます。