Springを使っているとアノテーションが出てきます。
そのため、私がよく使うというものや基本的なものについて一覧にまとめてみました。
アノテーション |
説明 |
@SpringBootApplication |
Spring Bootのメインクラスに付与する。 |
@Controller |
画面を持つコントローラに付与する。戻り値のStringも文字列に対応するテンプレートを、Thymeleafでレンダリングしたものをレスポンスとする。 |
@Service |
サービスクラスに付与する。 |
@Repository |
リポジトリクラスに付与する。 |
@Configuration |
設定を記述するクラスに付与する。@bean付与したメソッドで構成される。 |
@GetMapping("パス") |
HTTPリクエストのGETメソッドを受け付けるためのメソッドに付与する。 |
@PostMapping("パス") |
HTTPリクエストのPOSTメソッドを受け付けるためのメソッドに付与する。 |
@RequestParam("変数名") |
リクエストからクエリパラメータ、フォームパラメータなどを抽出する。指定するときは、name属性を指定する。 |
@PathVariable("変数名") |
渡ってきたURLの値を引数に入れることができる。 |
@Autowired |
DIコンテナーが管理しているインスタンスを受け取る。 |
@Component |
Spirngのコンポーネントとして認識される。DI対象のクラスとなる。(@Autowiredで指定できるようになる。) |
@DateTimeFormat |
フォーマットを指定して、日付型に変換してくれる。 |
@NumberFormat |
フォーマットを指定して、数値型に変換してくれる。 |
@ModelAttribute |
自動でモデルクラスに登録する。 |
@Qualifier("クラス名") |
どのBeanを使用するか指定する。 |
@Bean |
Springが管理するBeanを定義する。 |
@ConfigurationProperties |
定義ファイルから値を読み込み格納する。 |
アノテーション |
説明 |
@Validated |
Spring標準のバリデーションチェックを実施するには、引数のフォームクラスにこのアノテーションをつける必要がある。 |
@Valid |
J2EE標準のバリデーションチェックを実施するのにつける必要がある。 |
@Notable |
メソッドはNullを返すことができることをチェック。 |
@NotNull |
メソッドはNullを返すことができないことをチェック。 |
@NotEmpty |
nullか空文字でないことをチェック。 |
@NotBlank |
文字列が空文字、null、スペースのみでないことをチェック。 |
@Max |
最大値以下ということをチェック。 |
@Min |
最小値以上ということをチェック。 |
@Size |
文字列の長さをチェック。 |
@AssertTrue |
Trueかどうかチェック。 |
@AssertFalse |
Falseかどうかチェック。 |
@Pattern |
パターンと一致するかどうかチェック。正規表現を使う。 |
@Email |
メールアドレスの形式になっているかチェック。 |
@Range |
値の範囲内かチェック。 |
@Length |
指定した長さかチェック。 |
@CreditCardNumber |
クレジットカード番号の形式かチェック。 |
@URL |
URLの形式かチェック。 |
アノテーション |
説明 |
@Aspect |
AOPのクラスには@Aspectをつける。また、DIコンテナへBean定義もするため、@Componentも一緒につける必要がある。 |
@After |
メソッド単位で付与するアノテーションで、@Acpectが付与されたクラス内で使用される。
execution内の条件に当てはまる場合、対象の処理の実行後に@Afterメソッドが実行される。 |
@Before |
対象のメソッドの実行前に処理が実行される。 |
@Around |
目的の処理前後にアドバイスを実行する。 |
@annotation |
指定したアノテーションをつけているメソッドを全て対象とする。 |
@within |
指定したクラスを全て対象とする。パッケージ名を指定する必要がある。 |
アノテーション |
説明 |
@AfterThrowing |
対象のメソッドが異常終了(例外がスローされたとき)に処理が実行される。 |
@AfterReturning |
対象のメソッドが正常終了した後に処理が実行される。正常終了時のメソッドの戻り値を取得することもできる。 |
@ExceptionHandler |
メソッドにつける。Exception毎の例外を実装することができる。 |
@ControllerAdvice |
アプリケーションで発生した例外をまとめることができる。 |
アノテーション |
説明 |
@EnableWebSecurity |
セキュリティ設定用クラスにつける。また、WebSecurityConfigurerAdapterクラスを継承する必要がある。 |
アノテーション |
説明 |
@RestController |
Rest用のコントローラクラスにつける。戻り値にhtml以外を指定できるようになる。(JSONなど。) |
@RequestMapping |
@Controller、@RestControllerを付与したクラスがマッピングするURLの接頭辞を設定する。 |
@RequestBody |
クエストボディーの内容をそのまま取得できる。 |
@PutMapping("パス") |
Putメソッドの場合に使う。 |
@DeleteMapping("パス") |
DELETEメソッドにつける。 |
@ResponseBody |
戻り値がそのままレスポンスのコンテンツになる。 |
Spring Test関連で使うアノテーション
アノテーション |
説明 |
@RunWIth |
テストをどのクラスで実行するか指定する。 |
@SpringBootTest |
このアノテーションをつけていると、SpringBoot起動後にテストを実施してくれる。 |
@Test |
テストのメソッドにつける。 |
@Sql |
このSQLを実行した後の状態でテストをしてくれる。 |
@AutoConfigureMockMvc |
Springのモックを使うためにつける。モックを使うと、画面の表示内容のテストができる。 |
@MockBean |
通常のMockitoのモックを作成してそれをアプリケーションコンテキスト内に登録する。 |
@WithMockUser |
ログインした後にしか表示できない画面のテストを実施できる。 |
アノテーション |
説明 |
@Mapper |
MyBatisでSQLを実行するクラスにつける。 |
@Select |
MyBatisでSelectを実行する。(ソースに直接SQLを書く場合。) |
@Insert |
MyBatisでInsertを実行する。(ソースに直接SQLを書く場合。) |
@Update |
MyBatisでUpdateを実行する。(ソースに直接SQLを書く場合。) |
@Delete |
MyBatisでDeleteを実行する。(ソースに直接SQLを書く場合。) |
アノテーション |
説明 |
@Data |
getterやsetterなどを書かなくても自動で裏で作成してくれる。 |