Spring Bootでよく使用するアノテーション一覧
こちらではSpring Bootでの開発時によく使用するアノテーションから一部を抜粋して記載していきます。
1. コンフィギュレーション関連
@Configuration
Springの設定クラスを示し、@Bean
を用いてSpring管理のBeanを定義する。
@ComponentScan
指定したパッケージ以下のSpringコンポーネントをスキャンし、自動でBean登録を行う。
@Bean
Springの管理対象Beanを定義し、メソッドの戻り値をBeanとして登録する。
2. DI(依存性注入)関連
@Component
Springのコンポーネントとして登録し、汎用的に使用できる。
@Service
サービス層のクラスを示し、ビジネスロジックを担当する。
@Repository
データアクセス層(DAO)クラスを示し、データ操作を担当する。
@Controller
MVCのコントローラー層を示し、HTTPリクエストを処理する。
@Autowired
依存性を自動注入し、DIコンテナ内の適切なBeanを自動的に割り当てる。
3. Web・REST API 関連
@RequestMapping
HTTPリクエストをメソッドやクラスにマッピングし、リクエストのパスを指定する。
@GetMapping
, @PostMapping
, @PutMapping
, @DeleteMapping
各HTTPメソッド専用のマッピングアノテーションで、REST APIのエンドポイントを定義する。
4. データアクセス(JPA, JDBC)関連
@Entity
JPAエンティティクラスを示し、データベーステーブルと対応するクラスを作成する。
@Table
エンティティのテーブル名を指定し、クラス名と異なるテーブル名を使用可能にする。
5. AOP(アスペクト指向プログラミング)関連
@Aspect
AOPのアスペクトを定義し、横断的関心事(ログ記録やトランザクション管理など)を分離する。
@Before
, @After
, @Around
メソッドの前後や実行中に処理を追加し、関心の分離を実現する。
6. バリデーション関連
@Valid
オブジェクトのバリデーションを有効化し、入力データの検証を行う。
@NotNull
, @NotEmpty
, @NotBlank
値の存在チェックを行うアノテーションで、それぞれ異なるバリデーションを提供する。
@Size
文字列やリストの長さを制限し、入力データの長さ制約を適用する。
以上がSpring Bootで使用される主要なアノテーションの詳細になります。
他にも独自でアノテーションを作成できたり開発環境によって適切なアノテーションを選択し効率よく開発をしましょう。