`
阅读更多
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}}

所以可以看到它可以对子节点赋值 。




分享到:
评论

相关推荐

    07.处理Map等CXF无法自动转换的复合数据类型的形参和返回值

    2. **服务接口修改**:在服务接口中,将Map类型替换为自定义的JAXB类,如`public void myMethod(MyMapWrapper mapWrapper)`。 3. **序列化和反序列化**:在服务端,我们需要将接收到的`MyMapWrapper`对象转换回Map...

    百度地图类库 地图包裹类

    MapWrapper类提供了将Google或GPS坐标形式的Marker添加到百度地图上的功能。用户可以直接通过该类提供的addOverlay方法,添加Google或GPS坐标形式的Marker到百度地图上,不再需要先将Google或GPS坐标转化为百度坐标,...

    百度地图类库 地图包裹类.zip

    MapWrapper类提供了将Google或GPS坐标形式的Marker添加到百度地图上的功能。用户可以直接通过该类提供的addOverlay方法,添加Google或GPS坐标形式的Marker到百度地图上,不再需要先将Google或GPS坐标转化为百度坐标,...

    google-maps-javascript-v3-api-wrapper

    - **代码简化**:包装器的主要目的是将复杂的原始API调用转化为更简洁、更直观的方法,降低开发者的学习曲线。 - **提高效率**:通过预定义的函数和对象,可以减少重复代码,提高开发速度。 - **错误处理**:包装...

    MyBatis Map结果的Key转为驼峰式

    我们可以继承MapWrapper类来实现自己的MyMapWrapper类。在MyMapWrapper类中,我们需要重写findProperty方法来实现驼峰式转换。该方法会根据useCamelCaseMapping参数来判断是否需要进行驼峰式转换。如果需要进行转换...

    前端-后端java的Util类的工具类

    卷 文档 的文件夹 PATH 列表 卷序列号为 000C-BB91 E:. │ config.properties │ Dao.java │ GeneratorDemo.java │ hibernate.cfg.xml │ HibernateDaoImpl.java │ HibernateSessionFactory.java ...

Global site tag (gtag.js) - Google Analytics