[Java」PropertyUtils クラスのsetPropertyメソットでJavaBeanのプロパティを設定するサンプル
jarファイル
commons-beanutils-1.9.4
commmon-collection-3.2.2(※3.x系必須)
構文
PropertyUtils.setProperty(beanオブジェクト名, プロパティ名, 値);
1.UserDataクラスの定義
package com.arkgame.java.study;
public class UserData {
private String username;
private String pwd;
public UserData() {
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
}
2.setProperty()でJavaBeanのプロパティを設定する
package com.arkgame.java.study;
import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.beanutils.PropertyUtils;
public class UserDataList {
private static List<UserData> userList;
public static void main(String[] args) {
intUserList();
}
private static void intUserList() {
userList = new ArrayList<UserData>();
for (int i = 0; i < 3; i++) {
UserData userData = new UserData();
try {
// メンバー変数username(プロパティ)
PropertyUtils.setProperty(userData, "username", "admin_" + i);
// メンバー変数pwd(プロパティ)
PropertyUtils.setProperty(userData, "pwd", "pwd25_" + i);
userList.add(userData);
}
catch (IllegalAccessException | InvocationTargetException | NoSuchMethodException e) {
e.printStackTrace();
}
}
System.out.println("実行結果");
for (UserData ud : userList) {
System.out.println("username: " + ud.getUsername() + " password: " + ud.getPwd());
}
}
}
実行結果
username: admin_0 password: pwd25_0
username: admin_1 password: pwd25_1
username: admin_2 password: pwd25_2