commons-beanutils
commons-beanutilsの覚え書き
以下のような、UserBeanクラスがあるとする。
- UserBean
public class UserBean implements Serializable { private static final long serialVersionUID = 3456273076555404648L; private Integer uid; private String name; public Integer getUid() { return uid; } public void setUid(Integer uid) { this.uid = uid; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
PropertyUtils クラス
プロパティの取得・設定
UserBean userBean = new UserBean(); // プロパティをセット PropertyUtils.setProperty(userBean, "uid", 100); PropertyUtils.setProperty(userBean, "name", "K_SUKE"); // プロパティの取得 Object age = PropertyUtils.getProperty("uid"); String name = (String)PropertyUtils.getProperty("name");
BeanUtils クラス
プロパティの取得・設定
UserBean userBean = new UserBean(); // プロパティをセット BeanUtils.setProperty(userBean, "uid", "100"); // プロパティの値を文字列で渡す BeanUtils.setProperty(userBean, "name", "K_SUKE"); // プロパティの取得 final String name = BeanUtils.getProperty("uid"); final String age = BeanUtils.getProperty("name"); // 文字列 "97" が返される
BeanUtilsでStringをUserBeanのプロパティーにセットするとき、ConvertUtils の static メソッドを用いて型変換を行ってセットする。
一括設定(map)
UserBean userBean = new UserBean(); // サンプルの Map Map<String, String> map = new HashMap<String, String>(); map.put("uid", "100"); map.put("name", "K_SUKE"); // プロパティを一括セット BeanUtils.populate(userBean , map);
memo
Beanの全プロパティー取得
Field[] fields = UserBean.class.getDeclaredFields();