前回はSpring Bootだったが今回はもう少し基本的なところでアノテーション。まぁ「注釈」というくらいなのでマーキング程度だと思うのですが、アノテーションベースで色々な振る舞い(処理)が行われるとはてさてという感じになるのでがっつりお勉強した。
やったこと
まずアノテーションを身につける前に基本的なデザインパターン実装をやった
- リフレクション
- Factoryパターン
- Proxyパターン
一通り終わった後に待望のアノテーション。アノテーションは「NotNull」チェック用のアノテーションを作った、そうこう言う感じってか何もしていない。やっぱり何もしていない。。。(俺は正しかった)。。。
package megascus.annotation.handson.beanvalidation; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * * @author albatrosary */ //アノテーションを使用できる種別 @Target(value={ElementType.FIELD, ElementType.PARAMETER}) //実行時に有効(リフレクションを使って読み取ることができる) @Retention(RetentionPolicy.RUNTIME) //このアノテーションがついていることをJavaDocに表示する @RetentionがRetentionPolicy.RUNTIME の時はつけておく @Documented //@java.lang.annotation.Inherited アノテーションのターゲットがクラスの場合にサブクラスに伝播させる public @interface NotNull { public String message() default "{0} の値がnullです。"; }
これを作った後に、作ったアノテーション「@NotNull」を使った簡単なサンプルを。 最後に、どうもこのハンズオン資料をアップした直後、「きしだ」さんという方がブログを書いた(「書きやがった」と言っていた)らしくそちらも合わせて読むと良いとのことです。
資料
利用した資料はこちら:
「きしだ」さんのブログはこちら:
最後に
昔やってたのもありJavaは気持ちよく書ける言語だなと。もうちょっと触る機会を増やそう。熊本最高