论坛首页 Java企业应用论坛

让你的 Ibatis2 也支持Annotation

浏览 23770 次
精华帖 (0) :: 良好帖 (5) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-10-11  
我的实现思路很简单,就是在启动时读取所有的dao对象的annotation信息,然后将其对应于Ibatis的sqlmapping,动态加载并生成ibatis的SqlMapClient,在没有修改Ibatis的前提下实现了annotation到xml的转换,所以是一次性装载的,不会重复读取。另外,我还封装了对事务的统一控制。
0 请登录后投票
   发表时间:2008-10-12  
还行,不过觉得即使ibatis完全支持了注解,还是配置文件的方式比较的清晰!!!
还是2个结合着用的好,适当的结合,各取所长,看具体应用的情况而定
0 请登录后投票
   发表时间:2008-10-12  
spaceflysky@163.com 写道
还是2个结合着用的好,适当的结合,各取所长,看具体应用的情况而定


是的,我很同意你的观点,各取所长,完美结合。
0 请登录后投票
   发表时间:2008-10-13  
cnoss 写道
我的实现思路很简单,就是在启动时读取所有的dao对象的annotation信息,然后将其对应于Ibatis的sqlmapping,动态加载并生成ibatis的SqlMapClient,在没有修改Ibatis的前提下实现了annotation到xml的转换,所以是一次性装载的,不会重复读取。另外,我还封装了对事务的统一控制。

自定义类加载器classloader?
0 请登录后投票
   发表时间:2008-10-13  
没有,只是动态产生ibatis所需要的xml配置文件,并保存到临时文件中,然后载入这个临时文件,从而实现annotation到xml配置的转换,并在启动时完成对Ibatis的初始化工作。
0 请登录后投票
   发表时间:2008-10-13  
cnoss 写道

上面这个Contact对象被用jpa、hibernate validator、hibernate search的标注描述过,难道我们会因为这样的“不优雅”而放弃使用吗?
不知道谁的奶酪被动了?不过这都只是个习惯的问题,世态总是在发展,不管它是直线型的还是螺旋型,如果你我改变不了,那最好的方式就是适应(当然,我们也可以放弃),适应的过程是痛苦的(如果你很在意自己一个人的感受),但最终的结果就是给了你我另一种习惯。呵呵,是吗,我的朋友?

越来越觉得Java的annotation是一个不实用的东西,特别是将这种原先分离得很干净的代码,混杂在一个文件里面,完全是在开倒车,还是坚持偶以前的观点:
http://www.iteye.com/post/505027
Readonly 写道

偶一直认为把annotation当作配置来用是一点好处也没有的,偶在实际项目中见过Model一个field上挂了O/R Mapping, Full Text Index, Validation, Security...整整超过10行的annotation,偶只不过是想看看这个Model有什么field而已,这样把整个一大包乱七八糟的annotation都塞在一个文件里面,不是一个大倒退么?


Readonly 写道

偶的意见就是要分开多个配置文件,减少Line Of Code per File,减少维护成本,降低出错概率,分离关注点。
0 请登录后投票
   发表时间:2008-10-13  
非常同意楼上的看法,感觉xml给了我们一个干净整洁的Java代码,而annotation又将这部分代码以另一种形式搬回到Java代码中,尤其是看到annotation这样的用法,实在让人望而却步啊。
0 请登录后投票
   发表时间:2008-10-14  
太强悍了,把XML的东西移植到JAVA类中,ORZ
0 请登录后投票
   发表时间:2008-10-14  
感觉没什么必要,对于很多几乎不变的东西采用annotation比较好,而sql这种在开发中经常改动的东西也弄到annotation里,还不如不用他,直接代码里写SQL好。annotation是好东西,但是他不可能代替配置文件,他只是去除掉配置文件中必要的但开发中很少改变的东西。
0 请登录后投票
   发表时间:2008-10-15  
一直很喜欢iBatis

不过确实感觉annotation对于项目开发不太像是一个助力
0 请登录后投票
论坛首页 Java企业应用版

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