Spring アノテーション 一覧

Spring_Boot_logo Java
スポンサーリンク

Spring Frameworkのアノテーションは、Javaのコードをより簡潔にし設定や依存関係の管理を効率化できる。

以下に主要なものを記載する。

 

基本系

アノテーション名 説明
@Component

Springが管理するBeanとしてクラスを定義する
クラスに付与し、そのクラスはSpringが管理する対象として認識される
シングルトンとして扱われる

@Bean

メソッドに付与し、そのメソッドの戻りのインスタンスがSpringが管理対象として認識される
こちらもシングルトンとして扱われる
“@Configuration”が付与されたクラス内で使用できる

@Configuration

クラスに付与し、そのクラスがSpringの設定を行うものであること示す
このアノテーションが付与されたクラス内で”@Bean”アノテーションを使用できる

@Value

フィールドに付与し、その値を .properties ファイルなどから読み込むことができる
記述例)@Value(“${name}”)
 ※”name”は .properties ファイルに定義している名前と同名のもの

@Autowired

Springが自動的に依存性を注入(DI)するために使用する
“@Component”や”@Bean”でSpring管理対象に含めたインスタンスと紐づけられ、手動で初期化(new)せずに使用できる
コンストラクタ、フィールド、セッターメソッドなどに適用できる

 

RestController関連

アノテーション名 説明
@RestController

“@Component”アノテーションの派生
このアノテーションが付与されたクラスはRest API のエンドポイントが定義されるものとして扱われる

@RequestMapping

“@RestController”アノテーションが付与されたクラス内で使用できる
クラスに付与した場合は、引数”path”に設定した値がそのクラス内の共通部分のURIとして認識される
メソッドに付与する場合は、引数”path”に設定した値がAPIのエンドポイントとして機能するようになる
併せてHTTPメソッドも指定でき(”GET”など)、
この場合は後述する”@GetMapping”などを使用するほうが使いやすい

記述例)@RequestMapping(path = “/user”, method = “GET”)

@GetMapping

“@RequestMapping”アノテーションのGETリクエスト専用バージョン
メソッドに付与し、そのメソッドはHTTPメソッドの”GET”のAPIのエンドポイントとして機能するようになる
他にも”POST”や”PUT”や”DELETE”などHTTPメソッドの種類分、Mappingアノテーションが存在する

記述例)@GetMapping(path = “/user”)

コメント

タイトルとURLをコピーしました