2013年4月19日金曜日

ライブラリ管理(MavenからGradleへの移行)

参考
http://itpro.nikkeibp.co.jp/article/COLUMN/20120925/424923/?ST=itarchi&P=7

Eclipseからのビルドは、
gradle STSというEclipse Pluginを用いています。
Eclipse上からインストールします。
UpdateSiteは、
http://dist.springsource.com/release/TOOLS/gradle
です。
この中から、Gradle IDEと Gradle Tooling Apiをインストールします。
ただし、このPluginに含まれているGradleのバージョンが古いため、別途
Gradleをインストールします。
WebからVer.1.5をダウンロードし、フォルダに置きます。
(例:C:\JFA\gradle-1.5)
その後、Eclipseの設定で、Gradleを選び、Gradle Distributionの項目を
フォルダに設定し、上記のフォルダを入力します。
その後、プロジェクト(XXXX _mybatis)を選択し、右クリックから、Gradle
Project に変換します。
コンパイルは、build.gradleファイルの右クリックからGradle Buildを実行です。
外部ツールの構成からbuildタスクを設定し、実行すれば、Warまで作ってくれま
す。

前のメールで書いた手順の後に、
プロジェクト(XXXX _mybatis)を選択し、右クリックから、maven natureの除
去を行ってください。
これを行わないとClasspathにmavenの設定が残り、JBoss Runtime Serverが動き
ません。(デプロイに失敗します)
これを行うといままで同様、サーバー画面から実行、デバッグが行えるようにな
ります。
これで、mavwnを捨て、Gradleへの移行が完了します。

各種バリデータ(正規表現式)など


必須入力バリデーション@NotBlank
半角バリデーション
全角バリデーション@Pattern(regexp = "^[^ -~。-゚]*$",
半角英字バリデーション@Pattern(regexp = "^[a-zA-Z]*$",
半角数字バリデーション@Pattern(regexp = "^[0-9]*$",
半角英数字バリデーション @Pattern(regexp = "^[a-zA-Z0-9]*$",
日付バリデーション@Pattern(regexp = "^[ -~。-゚]*$",
整数バリデーション@Pattern(regexp = "^([+-]?0|[+-]?[1-9][0-9]*)?$",
実数バリデーション@Pattern(regexp = "^(([+-]?0|[+-]?[1-9][0-9]*)(\\.[0-9]+)?)?$",
数値範囲(最大)バリデーション@DecimalMax/@Max
数値範囲(最小)バリデーション@DecimalMin/@Min
最小桁数バリデーション        @Length
最大桁数バリデーション        @Length
桁数バリデーション            @Length
桁数範囲バリデーション        @Length
正規表現バリデーション        @Pattern
Eメールバリデーション         @Email
全角カナのチェック@Pattern(regexp = "^[ァ-タダ-ヶー]*$"
全角カタカナのみ、全角数字のみ、全角英字混合のチェック@Pattern(regexp = "^[ァ-タダ-ヶー0-9A-Za-z]*$",
全角カタカナのみ、全角数字のみまたはその混合のチェック@Pattern(regexp = "^[ァ-タダ-ヶー0-9]*$",
電話番号チェック
郵便番号チェック@Pattern(regexp = "^([0-9]{3}[-]?[0-9]{4})?$",
禁則文字チェック

外部からクラスのprivate変数やクラスをアクセス

単体JUNITテスト中によく使う

>>java.lang.reflect使用
//こちらはできました
A a = new A();
Field field = a.getClass().getDeclaredField("privateField");
field.setAccessible(true);
Object obj = field.get(a);

>>BeanUtils使用
    // BeanUtilFormの、プロパティ"stringData"の値"xxxx"を設定する
    BeanUtils.setProperty(form, "stringData","xxxx");
    // BeanUtilFormの、プロパティ"arrayData"の値を設定する
    String[] setArray = {"aaa","bbb","ccc"};
    BeanUtils.setProperty(form, "arrayData",setArray);
    // BeanUtilFormの、ネストしたプロパティ"copyData.tel"の値を設定する
    BeanUtils.setProperty(form, "copyData.tel","123");