论坛首页 Java企业应用论坛

我也造了个轮子:BeanMapping(属性拷贝)

浏览 24748 次
该帖已经被评为良好帖
作者 正文
   发表时间:2011-06-13  
peak 写道
一层的复制比较简单,最好是多层,还要带集合。。。
现在的对象多数都这种的。。



是支持多层转化的,只不过默认copy时,针对复合对象只是做引用复制(大部分还是处于这样的需求)。如果需要做多层复制,是可以通过mapping="true"参数控制

支持list,map转换,这也只是convetor转化器的扩展而已。如果是有特殊的对象转化处理,比如枚举值。也可以自定义convetor
0 请登录后投票
   发表时间:2011-06-13  
lqixv 写道
稳定了吗?准备用在我们项目上替换掉 beanutils,那玩意太慢了,我的机器上,一个 bean 的属性复制,动不动就 一两百 毫秒,有时甚至有几百毫秒的。


不管是cglib的BeanCopier,还有本文中的BeanMapping,在第一次copy时都会涉及到bean属性的分析过程,所以第一次慢也是难免的。看一个工具的性能,得有warmup的过程
所以性能上的提升,更多的是在自身工具的执行代码优化上,包括反射调用优化。
结构和框架设计上基本已经定型,不会有改变,代码是基本稳定了。目前单元测试在70%左右,争取这周可以提升到90%以上,到时候可以出一个稳定的版本。

如果有兴趣使用的话,可以一起加入开发和测试 
0 请登录后投票
   发表时间:2011-06-13  
貌似还不支持父类(抽象定义)+子类继承,遇到相同情况不给搞死,另外父子类存在相同属性怎么处理,貌似会出bug吧。。。。

针对eclipse的重构工具支持给跟上,不然想死的心都有了!
0 请登录后投票
   发表时间:2011-06-13  
如果再有一个可视化编辑器就更好了,可支持数据同步映射了(这一直是数据处理的一个大头,加上重复识别就更完美了)。
0 请登录后投票
   发表时间:2011-06-13  
抛出异常的爱 写道
重构属性名子时想死。。。。。


确实 这种情形应该大力发扬"约定大约配置"的价值。。。。
0 请登录后投票
   发表时间:2011-06-13  
googlecode 无法访问的 可以在host增加下面内容:
74.125.71.104 code.google.com
74.125.71.104 encrypted.google.com
74.125.71.104 suggestqueries.google.com
74.125.71.104 mail.google.com
74.125.71.104 groups.google.com
74.125.71.104 groups.google.com.hk
74.125.71.104 docs.google.com
74.125.71.104 docs0.google.com
74.125.71.104 docs1.google.com
74.125.71.104 spreadsheets.google.com
74.125.71.104 spreadsheets0.google.com
74.125.71.104 webcache.googleusercontent.com
74.125.71.104 sites.google.com
74.125.71.104 talkgadget.google.com
74.125.71.104 clients1.google.com
74.125.71.104 clients2.google.com
74.125.71.104 clients3.google.com
74.125.71.104 clients4.google.com
0 请登录后投票
   发表时间:2011-06-13   最后修改:2011-06-13
yimlin 写道
貌似还不支持父类(抽象定义)+子类继承,遇到相同情况不给搞死,另外父子类存在相同属性怎么处理,貌似会出bug吧。。。。

针对eclipse的重构工具支持给跟上,不然想死的心都有了!


看来是内行人哈,需求记下了。无意中翻到有个类似的工具: dozer。
功能是蛮相似的,但从一些别人介绍中是基于beanutils做的一些扩展,性能上估计存在一些问题。不过它支持的一些功能到是可以参考和实现一下。只是时间的问题
0 请登录后投票
   发表时间:2011-06-13  
agapple 写道
yimlin 写道
貌似还不支持父类(抽象定义)+子类继承,遇到相同情况不给搞死,另外父子类存在相同属性怎么处理,貌似会出bug吧。。。。

针对eclipse的重构工具支持给跟上,不然想死的心都有了!


看来是内行人哈,需求记下了。无意中翻到有个类似的工具: dzoner。
功能是蛮相似的,但从一些别人介绍中是基于beanutils做的一些扩展,性能上估计存在一些问题。不过它支持的一些功能到是可以参考和实现一下。只是时间的问题


呵呵,您说的工具应该是dozer吧?
0 请登录后投票
   发表时间:2011-06-13  
hobitton 写道
agapple 写道
yimlin 写道
貌似还不支持父类(抽象定义)+子类继承,遇到相同情况不给搞死,另外父子类存在相同属性怎么处理,貌似会出bug吧。。。。

针对eclipse的重构工具支持给跟上,不然想死的心都有了!


看来是内行人哈,需求记下了。无意中翻到有个类似的工具: dzoner。
功能是蛮相似的,但从一些别人介绍中是基于beanutils做的一些扩展,性能上估计存在一些问题。不过它支持的一些功能到是可以参考和实现一下。只是时间的问题


呵呵,您说的工具应该是dozer吧?


恩,笔误. 多谢指出,已经修正。
结合了dozer的一些特性,也顺便整理了一下自己的后续action的一些功能点,做了适当取舍。
issue: http://code.google.com/p/mapping4java/issues/list
0 请登录后投票
   发表时间:2011-06-13  
agapple 写道
yimlin 写道
貌似还不支持父类(抽象定义)+子类继承,遇到相同情况不给搞死,另外父子类存在相同属性怎么处理,貌似会出bug吧。。。。

针对eclipse的重构工具支持给跟上,不然想死的心都有了!


看来是内行人哈,需求记下了。无意中翻到有个类似的工具: dozer。
功能是蛮相似的,但从一些别人介绍中是基于beanutils做的一些扩展,性能上估计存在一些问题。不过它支持的一些功能到是可以参考和实现一下。只是时间的问题


谈不上内行,只是曾经自己想搞一个这样的开源项目,因为种种原因没有实践成,希望你能搞起来。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics