アノテーションについて - Spring Boot

  • 作成日:
  • 最終更新日:2025/10/11

アノテーションとは?

アノテーション は、クラスやメソッド、フィールドなどに付与して「このクラスはこう扱ってね」「このメソッドにはこういう役割がある」といった設定や意味付けを行う仕組みです。

Rails が「規約」で自動的にやってくれる部分を、Spring では「アノテーション」で明示するイメージです。

Spring Boot でよく使うアノテーションまとめ

アプリケーション全体

@SpringBootApplication
起動クラスにつける

以下の3つをまとめた便利アノテーションです。

  • @Configuration … 設定クラスである
  • @EnableAutoConfiguration … Spring Boot の自動設定を有効にする
  • @ComponentScan … Bean を自動スキャンする(同じパッケージ配下が対象)

Web層 (Controller)

@Controller
Thymeleaf などのテンプレートを返すクラスにつける
@RestController
JSONや文字列を直接返すAPI用
@RequestMapping / @GetMapping / @PostMapping
HTTPリクエストとメソッドを結びつける
@PathVariable
URL の一部を変数として取得
@RequestParam
クエリパラメータを取得
@ModelAttribute
フォーム入力をオブジェクトにバインド

サービス層

@Service
ビジネスロジックを持つクラスにつける

リポジトリ層

@Repository
DBアクセスクラスにつける

エンティティ層

@Entity
DBテーブルと対応するクラスにつける

@Id(主キー)や @GeneratedValue(自動採番)とセットで使う

DI(依存性注入)

@Autowired
Bean を自動的に注入する

ただし現在は コンストラクタインジェクション推奨

設定関連

@Configuration
設定クラスにつける

Bean とは

Spring が管理するインスタンス(オブジェクト)のこと

Java で作ったクラスのオブジェクトをSpring コンテナ(IoCコンテナ / ApplicationContext) が生成・管理します。

Spring が自動的に Bean として登録してくれる。

その後、必要な場所に @Autowired(またはコンストラクタ注入)で渡してくれる。