KENスクールブログ | パソコン教室・パソコン講座なら個別指導のKENスクール

BLOGKENスクールブログ

  1. KENスクール TOP >
  2. KENスクールブログ > プログラム > Spring Frameworkにおけるjavaアノテーション

プログラム

Spring Frameworkにおけるjavaアノテーション

Java言語を使って開発をしていると@Overrideなどのアノテーションを頻繁に見かけるかと思います。
アノテーションとは注釈の意味であり、あるデータに対して関連する情報を注釈として付ける事であり、プログラムの中では記述されたコードに注意書きを追加する機能となります。

Java言語においてこのアノテーションは大きく3つに分類することができます。

マーカーアノテーション 特にデータを持たず、コードに記述された注釈の意味を表すもの
単一値アノテーション データを1つ持つアノテーション、メソッドの呼び出しのような形で付随された機能を扱う
フルアノテーション 単一値アノテーションに対してデータを複数持つアノテーション

上記で例示した@Overrideアノテーションはマーカーアノテーションに類するものになります。

では、今回の表題にあるJavaのフレームワークのSpring FrameworkとHibernateにおけるアノテーションをいくつか紹介します。

@Controller

まずはMVCアーキテクチャのC、コントローラ内で使用されるものになります。これはそのままの名前なので覚えやすいですね。これをクラス名の先頭に付けるだけで、SpringFrameworkはこのクラスをコントローラクラスと認識してくれるようになります。

@RequestMapping()

こちらもコントローラ内で見かけるアノテーションです。メソッドの先頭に付ける事によってURIのプロジェクト名以降に付けられるパスや、呼び出されるリクエストメソッドがGET送信かPOST送信で呼び出されるかを引数に入力し、宣言することができます。
 ex. @RequestMapping(value = “/”, method = RequestMethod.GET)

@Entity

データのまとまりの単位の名称であるエンティティは、データベースからの抽出データなどをまとめるもので、クラス名の先頭に付けられるものです。@Table()アノテーションと併せて使用し、@Tableアノテーションの引数に関連させたいテーブル名を入れていくことで。データベースからの情報を受け取ります。

@Id

データベースに関連して@Idアノテーションです。こちらはエンティティクラスのフィールドに付けられ、このフィールドに格納されるデータが「主キー」で設定されているものを示しています。
こちらも併せて関連する列名を示す@Column()、自動採番を示す@GeneratedValues()などがあります。

今回はほんの一例ですが、まだまだSpringで使用できるアノテーションはあります。

例外処理のハンドラに付ける@ExceptionHandlerやValidationアノテーションで用意されている、フィールドの入力値をチェックする@Null、@NotNullや@Min、@Maxなど。
他にもSpringと併せて使用するO/Rマッピング(Object/Relational Mapping データベースとオブジェクト指向プログラムの関連付けをすること)のライブラリであるHibernateで使用される@NotEmptyや@Length。
JUnitのテストメソッドに付けられる@Testなどなど。

興味がある方は是非色々と調べてみてください。

この記事に関連する講座

Javaフレームワークの定番のSpring MVC とHibernateの最強コンビ

詳しくはこちら