2013年4月19日金曜日

外部からクラスの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");

0 件のコメント:

コメントを投稿