本示例演示如何使用PropertyUtils.setMappedProperty()方法修改Mapbean的类型化属性值。要设置属性,我们需要将bean实例,属性名称,映射键和映射值传递给PropertyUtils.setMappedProperty()方法。package org.nhooo.example.commons.beanutils;
import org.apache.commons.beanutils.PropertyUtils;
import java.util.HashMap;
import java.util.Map;
public class PropertySetMappedExample {
public static void main(String[] args) {
// 创建Recording bean的实例。
Recording recording = new Recording();
recording.setId(1L);
recording.setTitle("Introduction");
// 创建映射以保存记录轨道。
Map tracks = new HashMap<>();
tracks.put("track-one", new Track());
tracks.put("track-two", new Track());
tracks.put("track-three", new Track());
recording.setMapTracks(tracks);
try {
// 我们使用添加另一个轨道到录音轨道
// 一个PropertyUtils.setMappedProperty()方法。
PropertyUtils.setMappedProperty(recording, "mapTracks", "track-four", new Track());
PropertyUtils.setMappedProperty(recording, "mapTracks", "track-five", new Track());
} catch (Exception e) {
e.printStackTrace();
}
tracks = recording.getMapTracks();
System.out.println("New Track Numbers: " + tracks.size());
for (String key : tracks.keySet()) {
System.out.println(key + " = " + tracks.get(key));
}
}
}
Maven依赖
commons-beanutils
commons-beanutils
1.9.3