关于map结构转成bean的实现,寻求帮忙实现的大婶

小丑哥_V5 2014-06-16 09:40:45
实体类是这样结构,然后map结构是username=a,id=10,parent.username=b,parent.id=20....当然还有可能parent里面再嵌套多层bean,如何解释x.x.x.field的键值对填充到bean里,
现在方法是这样的

map是数据键值对,class1是当前最外层对象的类型
请各位大婶帮忙填充下这个方法,万分感激
...全文
446 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
小丑哥_V5 2014-06-17
  • 打赏
  • 举报
回复
引用 12 楼 dokia123 的回复:
楼主把写好的贴出来分享下,让我等菜鸟膜拜下啊啊。
到时我把项目发出来里面就用到了,到时慢慢看吧
  • 打赏
  • 举报
回复
自己开发的话工作了比较大,而且不一定考虑全面,如果属性值又是复杂的bean,那就更难准确的去实现了。可以借助json去操作吧,都有toBean,fromObject之类的函数,工具类就是帮助你快速实现功能的。
yanghongjy 2014-06-16
  • 打赏
  • 举报
回复
map 取数据的话简单 username 重复,用 map<id, username> 搞定 不重复就 map<username,id> 再搞个 map<id, parentid> 如果对象就是 map<id, User> 取 User.Filed 调用查找 user.parent.....id 或者 username 就行了
suciver 2014-06-16
  • 打赏
  • 举报
回复
引用 2 楼 shadowsick 的回复:
感谢你的回答,我主要是想不依赖这现成的jar处理
楼主要自己实现你可以参考commons-beanUtils的源码,不仅是嵌套属性,还有集合数组的属性,这里还要涉及到map的值与属性的类型要进行转换
小丑哥_V5 2014-06-16
  • 打赏
  • 举报
回复
引用 1 楼 suciver 的回复:
干嘛要自己实现,用commons-beanUtils工具类,BeanUtils.populate(Object bean, Map map);直接就可以将map转成bean
感谢你的回答,我主要是想不依赖这现成的jar处理
dokia123 2014-06-16
  • 打赏
  • 举报
回复
楼主把写好的贴出来分享下,让我等菜鸟膜拜下啊啊。
suciver 2014-06-16
  • 打赏
  • 举报
回复
干嘛要自己实现,用commons-beanUtils工具类,BeanUtils.populate(Object bean, Map map);直接就可以将map转成bean
小丑哥_V5 2014-06-16
  • 打赏
  • 举报
回复
已经写好了...谢谢大家的支持,,,明早散分...
别闹腰不好 2014-06-16
  • 打赏
  • 举报
回复
protected <T> T getBean(Object o, Class<T> c) { try { T obj = c.newInstance(); BeanUtils.copyProperties(obj, o); return obj; } catch (Exception e) { logger.error(e); } return null; }
小丑哥_V5 2014-06-16
  • 打赏
  • 举报
回复
引用 5 楼 fangmingshijie 的回复:
自己开发的话工作了比较大,而且不一定考虑全面,如果属性值又是复杂的bean,那就更难准确的去实现了。可以借助json去操作吧,都有toBean,fromObject之类的函数,工具类就是帮助你快速实现功能的。
嗯,确实咯...主要是自己闲的但疼,然后想搞搞而已,没神马意思
小丑哥_V5 2014-06-16
  • 打赏
  • 举报
回复
引用 7 楼 shine333 的回复:
lz不想用类库的话,要写的代码比较多。到最后真心会放弃的。
还没提供建议就开始打击了...
shine333 2014-06-16
  • 打赏
  • 举报
回复
lz不想用类库的话,要写的代码比较多。到最后真心会放弃的。
疯狂的玖号 2014-06-16
  • 打赏
  • 举报
回复
如果没有理解错误的话,是要把map的值对应到bean对象么? 如果是这样 反射好像可以实现

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧