初投稿。手探りですが色々書いていこうと思います。
SpringBootでは様々なアノテーションが登場する。
Lombok
@AllargsConstructor
コンストラクタを自動生成してくれる。
@Data
getter/setterが使える。
toString,equals,canEqual,hashCodeがオーバーライドされている。
Mybatis
@Mapper
Mybatisを使うためにインターフェースに付ける。
MybatisにDB接続できるようになる。
@Select
SQLを用いてDB検索できる。
@Insert
SQLを用いてDBに値を設定できる。
@Service
サービスとして付与。サービスはビジネスロジックとして処理を記述する。
Bean登録を意味する。
@RequiredArgsConstructor
finalで宣言したフィールドに対してインスタンスを生成してくれる。コンストラクタをいちいち修正しなくて良くなる。DIに使える。
@Transactional
一定の範囲で処理がロールバックされる。アノテーションを付けたメソッド以降の処理が同一トランザクション管理範囲となる。
@SpringBootApplication
SpringBootのメインクラスに付与。
@Controller
付与したクラスをコントローラとする。
@GetMapping
GET=取得処理。
@PostMapping
POST=投稿処理。新たなデータ登録等を行う。
@RequestMapping
プログラム全体の処理の入り口となる。("/○○")はURLを指定
これを付与すればGetMappingのパスを省略可能。
@ModelAttribute
引数と一緒に付与すると、addAttributeできソース省略が可能。
@RequiredArgsConstructor
クラスに付与することで必須のメンバ(finalのメンバ)へ値をセットするための引数付きコンストラクタを自動生成することができる。
@Validated
例えばPOSTメソッドの引数に付与するとバリデーションが扱えるようになる。併せてBindingResultを引数追加すると、バリデーションエラーが発生しているか確認することができる。
@NotBlank
文字列がnullでないかつ空文字でないことを検証する。
@Size
指定した桁数チェックを行う。
@Test
テストメソッドで有ることを認識させる。
@ResponseBody
テンプレートの戻り値が直接記述される場合に付与。
@PathVariable
@GetMappingする際に、引数で渡すIDと同様に渡してあげるとそのIDに紐づく画面に遷移できる。