Spring Frameworkのアノテーションは、Javaのコードをより簡潔にし設定や依存関係の管理を効率化できる。
以下に主要なものを記載する。
DI(依存性注入)系
org.springframework.stereotype
org.springframework.beans.factory.annotation
に属するアノテーション
アノテーション名 | ターゲット | 説明 |
---|---|---|
@Component | class |
Springが管理するBeanとしてクラスを定義する。 |
@Service | class | “@Component”アノテーションの派生。 MVC+Sモデルで表現する場合のSに相当する。 serviceの役割を示す目的で使用され、機能自体は”@Component”と差はない。 |
@Configuration | class |
そのclassがSpringの設定を行うものであること示す。 |
@Bean | method |
メソッドに付与し、そのメソッドの戻りのインスタンスがSpringが管理対象として認識される。 |
@Value | field |
付与したfieldの値は .properties ファイルなどから読み込むことができる。
例)@Value(“${name}”) |
@Autowired | field method |
Springが自動的に依存性を注入(DI)するために使用する。 |
参考


RestAPI系
org.springframework.web.bind.annotation に属するアノテーション
アノテーション名 | ターゲット | 説明 |
---|---|---|
@RestController | class |
“@Component”アノテーションの派生 |
@RequestMapping |
class method |
“@RestController”アノテーションが付与されたclass内で使用できる。
例)@RequestMapping(path = “/user”, method = “GET”) |
@GetMapping | method |
“@RequestMapping”アノテーションのGETリクエスト専用バージョン。
例)@GetMapping(path = “/user”) |
@PostMapping | method |
付与されたmethodはHTTPメソッドの”POST”のAPIのエンドポイントとして機能するようになる。 |
@PutMapping | method |
付与されたmethodはHTTPメソッドの”PUT”のAPIのエンドポイントとして機能するようになる。 |
@DeleteMapping | method |
付与されたmethodはHTTPメソッドの”DELETE”のAPIのエンドポイントとして機能するようになる。 |
@RequestParam | parameter |
クエリパラメーターを取得できる。 |
@PathVariable | parameter |
パスパラメーターを取得できる。 |
@RequestHeader | parameter |
リクエストヘッダーのパラメーターを取得できる。 |
@RequestBody | parameter |
リクエストボディのパラメーターを取得できる。 |
参考

トランザクション系
org.springframework.transaction.annotation に属するアノテーション
アノテーション名 | ターゲット | 説明 |
---|---|---|
@Transactional | method |
DBのトランザクション管理を制御する。
例)@Transactional(rollbackFor = Exception.class) |
参考

コメント