SpringBootのアノテーション
SpingBootでWebアプリケーションを開発するときに必要となるアノテーションを解説します。詳細はアノテーション名をクリックしてください。
全般
| アノテーション | 用途 |
| @SpringBootApplication | 付与されたクラスをエントリポイントとしてアプリケーションを実行することを表す。 |
| @Autowired | 付与されたフィールドに実装クラスをDIコンテナから注入する。 |
| @Component | 付与されたクラスをDIコンテナに登録する。 |
| @ComponentScan | 付与されたクラスのパッケージ以下をコンポーネントスキャンの対象に追加します。 |
| @Value | 付与されたフィールド、実行メソッドの引数にプロパティファイルの値をセットする。 |
プレゼンテーション層(コントローラー)周りで使用するアノテーション
| アノテーション | 用途 |
| @Controller | 付与されたクラスがコントローラーであることを表す。 |
| @RestController | @Controller と @ResponseBody を組み合わせた機能を付与するアノテーション。一般的にはHTMLを返すのではなく、JSONを返却するRest APIのコントローラーとして機能させるときに使用する。 |
| @RequestMapping | |
| @GetMapping | |
| @PostMapping | |
| @PatchMapping | |
| @DeleteMapping | |
| @RequestBody | |
| @Param | |
| @Value | |
| @ResponseBody | |
ビジネス層(サービス)周りで使用するアノテーション
| アノテーション | 用途 |
| @Service | 付与されたクラスがサービスクラス(ビジネスロジックを提供するクラス)であることを表す。 |
インテグレーション層(リポジトリー/DAO)周りで使用するアノテーション
| アノテーション | 用途 |
| @Repository | 付与されたクラスがリポジトリー(DB操作を集約するクラス)であることを表す。 |
テストで使用するアノテーション
| アノテーション | 用途 |
| @SpringBootTest | 付与されたクラス内のテストがSpringBootコンテキストで実行するべきことを表す。 |
| @Test | 付与されたメソッドが1つのテストケースであることを表す。 |
SpringBootで使用するアノテーションの公式Javadoc
アノテーションを調べるときは、必ず下記の公式のJavadocも読むようにします。
投稿日:2021年2月8日 更新日:
author