MetaObject 有一个 setValue方法 这个方法可以对原来的对象赋值,
首先看一看
MapWrapper 是怎么处理的。
public void set(PropertyTokenizer prop, Object value) {
if (prop.getIndex() != null) { //有子属性 需要赋值
Object collection = resolveCollection(prop, map);
setCollectionValue(prop, collection, value);
} else {
map.put(prop.getName(), value); //这里直接就加上key值
}
updateKeyArray();
}
第一次看到这样的代码 我也是手足无措 ,不知道如何解决。
因为我们为一个对象赋值的时候如下:
Map m = new HashMap<String, Object>();
MetaObject metaDataSource = MetaObject.forObject(m);
metaDataSource.setValue("a.username","111111");
System.out.println(m);
这里的输出结果是:
{a={username=111111}}
所以可以看到它可以对子节点赋值 。
分享到:
相关推荐
2. **服务接口修改**:在服务接口中,将Map类型替换为自定义的JAXB类,如`public void myMethod(MyMapWrapper mapWrapper)`。 3. **序列化和反序列化**:在服务端,我们需要将接收到的`MyMapWrapper`对象转换回Map...
MapWrapper类提供了将Google或GPS坐标形式的Marker添加到百度地图上的功能。用户可以直接通过该类提供的addOverlay方法,添加Google或GPS坐标形式的Marker到百度地图上,不再需要先将Google或GPS坐标转化为百度坐标,...
MapWrapper类提供了将Google或GPS坐标形式的Marker添加到百度地图上的功能。用户可以直接通过该类提供的addOverlay方法,添加Google或GPS坐标形式的Marker到百度地图上,不再需要先将Google或GPS坐标转化为百度坐标,...
- **代码简化**:包装器的主要目的是将复杂的原始API调用转化为更简洁、更直观的方法,降低开发者的学习曲线。 - **提高效率**:通过预定义的函数和对象,可以减少重复代码,提高开发速度。 - **错误处理**:包装...
我们可以继承MapWrapper类来实现自己的MyMapWrapper类。在MyMapWrapper类中,我们需要重写findProperty方法来实现驼峰式转换。该方法会根据useCamelCaseMapping参数来判断是否需要进行驼峰式转换。如果需要进行转换...
卷 文档 的文件夹 PATH 列表 卷序列号为 000C-BB91 E:. │ config.properties │ Dao.java │ GeneratorDemo.java │ hibernate.cfg.xml │ HibernateDaoImpl.java │ HibernateSessionFactory.java ...