カテゴリ: Spring 更新日: 2025/06/17

Springでよく使うアノテーション一覧(超入門)初心者向けのやさしい解説

Springでよく使うアノテーション一覧(超入門)
Springでよく使うアノテーション一覧(超入門)

新人と先輩の会話形式で理解しよう

新人

「先輩、Springでよく出てくるアノテーションって、何があるんですか?まだよく分からなくて…。」

先輩

「確かに最初は難しそうに見えるけど、一つ一つ理解すれば大丈夫だよ。今日は、Springでよく使うアノテーションについて、基本から説明していこう!」

新人

「ありがとうございます!どんな風に使われるのか、実際の例も見たいです!」

先輩

「もちろんだよ。まずは、アノテーションって何かを一緒に確認していこう。」

1. Springアノテーションとは?

1. Springアノテーションとは?
1. Springアノテーションとは?

Springのアノテーションは、Javaのコードに特別な意味を持たせる仕組みです。簡単に言うと、「このクラスはコントローラです」「このメソッドはリクエストを受け取ります」といった指示をJavaに伝えるために使われます。

アノテーションを使うことで、プログラムをシンプルに書けるようになります。Springのアプリケーションでは、PleiadesとGradleで作成したプロジェクトの中で、@Controllerなどのアノテーションが活躍します。@Controllerを使うことで、画面を制御する役割をJavaクラスに伝えることができます。

このアノテーションの仕組みを理解すると、Springアプリケーションの全体像がはっきり見えてきます。次に、よく使うアノテーションを見てみましょう。

2. 代表的なアノテーションの概要

2. 代表的なアノテーションの概要
2. 代表的なアノテーションの概要

ここでは、初心者の方がまず覚えておきたい代表的なSpringアノテーションを紹介します。実際の使い方を見て、どんな場面で使うのかイメージをつかんでください。

@Controller

Webアプリケーションで画面を制御する役割を持つクラスにつけるアノテーションです。このアノテーションをつけることで、Springがこのクラスを「コントローラ」として扱います。


@Controller
public class HomeController {
    // ここに画面を制御する処理を書きます
}

@GetMapping

Web画面にアクセスしたときに、どのメソッドを呼び出すか指定するアノテーションです。例えば、「http://localhost:8080/」にアクセスしたらこのメソッドを実行する、という指示を与えます。


@GetMapping("/")
public String index() {
    return "index";
}

@RequestParam

画面から送られてくる値(パラメータ)を受け取るときに使うアノテーションです。フォームなどから送信された値を受け取って処理に使います。


@GetMapping("/greet")
public String greet(@RequestParam String name, Model model) {
    model.addAttribute("message", "こんにちは " + name + " さん!");
    return "greet";
}

@PathVariable

URLの一部を変数として受け取るときに使います。例えば、「/user/10」というURLの「10」を受け取って処理します。


@GetMapping("/user/{id}")
public String userDetail(@PathVariable String id, Model model) {
    model.addAttribute("userId", id);
    return "userDetail";
}

これらのアノテーションは、SpringでWebアプリケーションを作るときに必ずと言っていいほど登場します。特に、@Controllerや@GetMappingは、最初にしっかり覚えておくと開発がとてもスムーズになります。

PleiadesでGradleを使ったプロジェクトでは、これらのアノテーションを使う準備はすでに整っています。あとは、実際にコードを書きながら、どんな動きをするのかを確かめてみましょう。

3. よく使うアノテーションの具体的な使い方

3. よく使うアノテーションの具体的な使い方
3. よく使うアノテーションの具体的な使い方

ここからは、@RequestParam や @PathVariable に加えて、初心者でもよく使うアノテーションの実際の使い方を見てみましょう。

@RequestParam の使い方

フォームやURLクエリパラメータから値を取得するときに使います。たとえば、「?name=田中」のように送信された値を受け取って処理します。


@GetMapping("/hello")
public String hello(@RequestParam String name, Model model) {
    String message = name + "さん、こんにちは!";
    model.addAttribute("message", message);
    return "hello";
}

このように、@RequestParam を付けるだけで、Springが自動的に値を受け取ってくれます。

@PathVariable の使い方

URLの一部をパラメータとして受け取りたいときに使います。IDなどをURLに含めたい場合に便利です。


@GetMapping("/products/{id}")
public String productDetail(@PathVariable int id, Model model) {
    model.addAttribute("productId", id);
    return "productDetail";
}

このように書くと、/products/5 のようにアクセスされたときに、id に 5 が入ります。

@PostMapping の例

POST送信でフォームから受け取るときに使います。登録や送信処理でよく使われます。


@PostMapping("/submitForm")
public String submitForm(@RequestParam String data, Model model) {
    model.addAttribute("result", "受け取ったデータ: " + data);
    return "result";
}

GET と POST の使い分けも覚えておくと安心です。

4. アノテーションの使い分けポイント

4. アノテーションの使い分けポイント
4. アノテーションの使い分けポイント

アノテーションには用途ごとの使い分けがあります。どんな場面にどれを使うかを整理してみましょう。

  • @GetMapping:URLの表示や検索結果を取得するときに使います。画面を表示したりデータを読む処理向け。
  • @PostMapping:フォーム送信など、データを送るときに使います。変化が伴う処理に。
  • @RequestParam:クエリパラメータやフォームの値を取得するときに便利です。
  • @PathVariable:URLの一部を直接パラメータとして取得します。例えば商品IDやユーザーID。

この使い分けを覚えることで、Webアプリの設計がより自然に書けるようになります。

5. Springアノテーションの動作の仕組み

5. Springアノテーションの動作の仕組み
5. Springアノテーションの動作の仕組み

アノテーションを使うとき、Springは内部で「リフレクション」と呼ばれる仕組みを使って、クラスやメソッドの情報を読み取ります。

たとえば、@Controller が付いたクラスを見つけて、@GetMapping が付いたメソッドを URL に対応させていきます。これを「ルーティング」と呼びます。

また、@RequestParam や @PathVariable を見つけたとき、それぞれの値を取得して引数に渡しています。これが「バインディング」と呼ばれる仕組みです。

このように、Springはアノテーションをもとに動的に処理を組み立てて、Webアプリケーションを実現しています。初心者の方は「アノテーションは指示を伝えるだけ」と覚えておけば、まずは十分です。

もっと詳しく仕組みを知りたい場合は、リフレクションやDI(依存性注入)などを学ぶと、理解が深まります。

6. よくあるエラーとアノテーションの注意点

6. よくあるエラーとアノテーションの注意点
6. よくあるエラーとアノテーションの注意点

Springアノテーションを使っていると、初心者の方でもよく遭遇するエラーがあります。ここでは、その代表的なものと、どう対処すればよいかを見ていきます。

① リクエストマッピングが見つからないエラー

例えば、@GetMapping("/") と書いたつもりが、「No mapping found for GET」というエラーが出るときがあります。これは、@Controller が付いていないクラスだったり、メソッドのパスが間違っている場合に起こります。

対処法は、クラスに @Controller が付いているか確認して、引数やパスが正しく書かれているかチェックしましょう。

② @RequestParam や @PathVariable が取得できない

URLに ?name=は付いているのに、name が null や空文字になることがあります。これは、パラメーター指定が間違っている、または入力フォームが正しく動いていない場合です。

例えば、下記のように required=false を使うと、省略可能になります。


@GetMapping("/hello")
public String hello(@RequestParam(required = false) String name, Model model) {
    if (name == null || name.isEmpty()) {
        name = "ゲスト";
    }
    model.addAttribute("message", name + "さん、こんにちは!");
    return "hello";
}

③ 型の変換エラー

@PathVariable を int 型で受け取るときに、URLに数字以外が入っているとエラーになります。これも初心者がよくやってしまうミスです。

対処法としては、String 型で受け取ってから Integer.parseInt() を使って変換する方法があります。


@GetMapping("/product/{id}")
public String detail(@PathVariable String id, Model model) {
    int num = 0;
    try {
        num = Integer.parseInt(id);
    } catch (NumberFormatException e) {
        num = -1;
    }
    model.addAttribute("productId", num);
    return "productDetail";
}

7. まとめ:初心者が覚えておきたいアノテーションのコツ

7. まとめ:初心者が覚えておきたいアノテーションのコツ
7. まとめ:初心者が覚えておきたいアノテーションのコツ

初心者の方がSpringでよく使うアノテーションを覚えるときに役立つポイントを整理します。

  • @Controllerをクラスにつけて、画面処理用のクラスだと明示しよう。
  • @GetMapping@PostMapping は、URL がどんなリクエストかで使い分けよう。
  • @RequestParam は入力フォームやクエリパラメータを簡単に取得できるから便利。
  • @PathVariable は URL の一部を直接使いたいときに活躍する。
  • 初めは 型変換やパラメータの省略に注意しよう。特に required=false や String 型で受けておくと安心。

このポイントを覚えておくと、Spring MVC の基本操作がスムーズに進みます。

8. Springアノテーションを学ぶための練習ステップ

8. Springアノテーションを学ぶための練習ステップ
8. Springアノテーションを学ぶための練習ステップ

最後に、これまで学んだアノテーションを使って練習するステップを紹介します。

ステップ①:@Controller とマッピングの練習

まずは Pleiades で Gradle プロジェクトを作り、@Controller と @GetMapping を使って簡単な画面を表示する練習をしましょう。

ステップ②:@RequestParam を使ってフォーム連携

簡単なフォームを作って、GET リクエストで値を受け取る練習をします。値を画面に表示してみましょう。

ステップ③:@PathVariable で URL パラメータ取得

例えば、/item/123 のような URL を作って、@PathVariable で id を取得して表示してみます。

ステップ④:POST を使った送信処理

@PostMapping と @RequestParam を組み合わせて、フォーム送信の仕組みも練習してみましょう。

ステップ⑤:エラーと型変換エラーに対応

URL の型が違う場合や、パラメーターがない場合の対応も試してみましょう。エラー処理の基礎を学べます。

これらのステップを繰り返せば、Spring MVC の基本アノテーションをしっかり身につけられます。Pleiades と Gradle の環境なら、すぐに試し始められるので、ぜひ実践してください!

コメント
コメント投稿は、ログインしてください

まだ口コミはありません。

カテゴリの一覧へ
新着記事
JDBCとは?Javaでデータベースを使うしくみを初心者向けに解説
Springと他のフレームワーク(StrutsやJSF)との違いを初心者向けにわかりやすく解説!
Springのモジュール構成(DI・AOP・MVCなど)を紹介
Javaの論理演算子(&&, ||, !)の使い方を学ぼう
人気記事
No.1
Java&Spring記事人気No1
単体テストと結合テストの違いを理解しよう
No.2
Java&Spring記事人気No2
Javaとは?初心者向けにやさしく解説
No.3
Java&Spring記事人気No3
SQLのサブクエリを完全ガイド!入れ子クエリの使い方を初心者向け解説
No.4
Java&Spring記事人気No4
SQLのトリガー(TRIGGER)を完全ガイド!初心者でもわかる自動処理の仕組み