论坛首页 Java企业应用论坛

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

浏览 24804 次
该帖已经被评为良好帖
作者 正文
   发表时间:2011-06-15  
agapple 写道
itstarting 写道
agapple 写道


你描述的两个业务场景,基本上也就是我们现在遇到比较多的。只不过我们现在大范围进行重构,构建SOA服务时,第2个场景的问题就特别明显



OK,扯上了SOA,那就应该考虑叫做xmlbeanMapping更有用武之地,跟XMLBeans之流的对着干

有时候我倒是怀念起ETL


呵呵,兄弟,别这么较真么。
就和你用spring一样,虽然它大部分也是用xml配置,同样你也可以使用api方式和annotation,这个是每个开发者自己的选择。

xml只是目前的一种配置方式,后续是马上有计划实施api,annotation的配置。

哈哈,其实我是在使劲的想到底什么场景可运用

然后你提到了SOA,我就感慨了一下,无意跟你较真

大家都在分享对吧,这很宝贵——我是很希望你仔细给大家点场景提示
0 请登录后投票
   发表时间:2011-06-15  
xml annotation 各有利弊

annotation 消除起来很麻烦 比如有很多地方用了annotation 但发现有几个地方不是很合适,想去掉。。。或者引入了别人对我没有用的annotation包...

xml看起来比较直观,容易差错,作为一种配置可以很方便的被修改,个人倾向于xml
0 请登录后投票
   发表时间:2011-06-16  
bugu1986 写道
agapple 写道
bugu1986 写道
agapple 写道
当然支持,只不过你得告诉我这是一个需要做深度复制的对象。默认只做第一层复制


你们淘宝带代码出来看起来还是蛮开放的。。。不像我们,不管涉不涉及业务,是代码就带不出来。。。

确实插件化的设计还是很赞的,另外用script在xml里面,我们的项目里也有用,感觉表达能力很强,很好。


从哪里看出有淘宝的信息? 呵呵,我非淘宝人员
可以这么说,代码是你自己写的。只不过用在公司的某个项目上而已
我们一般也会要求,涉及公司信息的代码或者信息不能在blog里讨论

来自杭州。。我经验主义了。。呵呵


哈,阿里系的公司都是在杭州的哦。而且混这里的人很不少
0 请登录后投票
   发表时间:2011-06-16  
Reset 写道
xml annotation 各有利弊

annotation 消除起来很麻烦 比如有很多地方用了annotation 但发现有几个地方不是很合适,想去掉。。。或者引入了别人对我没有用的annotation包...

xml看起来比较直观,容易差错,作为一种配置可以很方便的被修改,个人倾向于xml


基本认同观点。 普遍的场景还是倾向于xml。
针对几个场景:form bean校验,数据库事务等。倾向于使用annotation,因为配置和java代码是一个整体的描述
0 请登录后投票
   发表时间:2011-06-16   最后修改:2011-06-16
itstarting 写道
agapple 写道
itstarting 写道
agapple 写道


你描述的两个业务场景,基本上也就是我们现在遇到比较多的。只不过我们现在大范围进行重构,构建SOA服务时,第2个场景的问题就特别明显



OK,扯上了SOA,那就应该考虑叫做xmlbeanMapping更有用武之地,跟XMLBeans之流的对着干

有时候我倒是怀念起ETL


呵呵,兄弟,别这么较真么。
就和你用spring一样,虽然它大部分也是用xml配置,同样你也可以使用api方式和annotation,这个是每个开发者自己的选择。

xml只是目前的一种配置方式,后续是马上有计划实施api,annotation的配置。

哈哈,其实我是在使劲的想到底什么场景可运用

然后你提到了SOA,我就感慨了一下,无意跟你较真

大家都在分享对吧,这很宝贵——我是很希望你仔细给大家点场景提示


这个一开场,具体的背景介绍就提到了一个比较大的使用场景。
目前公司的几个场景:
  • model 和 DO的转化 (DO = Data Object , 数据库对象的设计是一种大宽表的设计,domain/model的设计,会有层次结构&具体)。 比如表设计存储会采用json存储动态数据,而在model中会是具体的属性
  • model 和 VO的转化 (VO = View Object , 公司的产品detail页面,涉及了后端n多个domain/model的组合展示,这时候会进行包装成VO,包装一些页面组装逻辑)
  • model 和 DTO的转化 (DTO = Data Transfer Object ,公司子系统比较多,系统之间会有比较多的rpc等remote调用)
  • form -> bean的转化 (现在流行的几个MVC框架,都已经开始支持view层的参数注入,比如@Paramter(name="field")String , @Form("name=xx")Bean)。 提交的form表单数据,基本都是以map+list为主,就会涉及一个mapping


其他的有些场景,更多的会是系统重构引起的,为支持兼容性,会考虑将接口的model,mapping映射到新的domain/model上。 这样的场景如果是做产品维护的比较会有体会 

0 请登录后投票
   发表时间:2011-06-17  
能把源码包顺便带上么  我上google code 貌似没地方下载。。。
0 请登录后投票
   发表时间:2011-06-17   最后修改:2011-06-17
使用svn+maven进行管理的。
下载:
svn checkout http://mapping4java.googlecode.com/svn/trunk/ mapping4java
or
http://code.google.com/p/mapping4java/downloads/list
编译:
mvn clean install eclipse:eclipse
0 请登录后投票
   发表时间:2011-06-18  
agapple 写道
使用svn+maven进行管理的。
下载:
svn checkout http://mapping4java.googlecode.com/svn/trunk/ mapping4java
or
http://code.google.com/p/mapping4java/downloads/list
编译:
mvn clean install eclipse:eclipse

谢谢了,昨天公司check不下来。。。 在家里居然可以
0 请登录后投票
   发表时间:2011-06-18   最后修改:2011-06-18
agapple 写道
neverforget 写道
google code 地址错了


hi,地址没错,可能你得翻个墙了



第二个确实错了 你复制出来看下
0 请登录后投票
   发表时间:2011-06-20  
buru 写道
agapple 写道
neverforget 写道
google code 地址错了


hi,地址没错,可能你得翻个墙了



第二个确实错了 你复制出来看下


多谢指出, 多了个%20,已经修正。
0 请登录后投票
论坛首页 Java企业应用版

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