JiveJdon Community Forums
在线204人 J道首页 | 论坛首页 | 培训咨询 | 开源框架 | 精华 | 查搜 | 注册 | 登陆 |
首页 » 论坛 » J2EE/JavaEE/JEE/EJB/JSF等技术讨论
???en_US.forumThreadPrev.name??? 上一主题
Go back to the topic listing   返回主题列表
???en_US.forumThreadNext.name??? 下一主题
这个主题共有 5 回复 / 1 页 [ ]  发表新帖子  回复该主题贴
cscs31

发表文章: 29
注册时间: 2007年04月06日 10:20
请教关于DAO事务控制 发表: 2007年06月14日 11:07 回复
在设计DAO的时候,我有个疑问,不知道大家是怎么解决的?
在Client端(Service)调用DAO接口的时候,我想是如下情况
Dao1 d1 = Spring.getBean("dao1");
Dao2 d2 = Spring.getBean("dao2");
d1.save(obj1);
d2.update(obj2);
然后在这个代码的基础上的事务控制,是做在一个地方的,如果写全应该是如下伪代码:
tx = manager.getTransaction();
tx.beginTransaction();
d1.save(obj1);
d2.update(obj2);
tx.commitTransaction();
大概是这个样子,没有写全,在这里事务的控制能否抽象出来在一个地方做?是不是要用AOP来实现?因为每个dao中的方法我不想做事务控制,我感觉dao是一个相对独立的操作。
请大家指教...
[该贴被cscs31于2007年06月15日 12:21修改过]
[该贴被cscs31于2007年06月15日 13:41修改过]
[该贴被cscs31于2007年06月15日 13:43修改过]
banq

发表文章: 8914
注册时间: 2002年08月03日 17:08
回复:请教关于DAO事务控制 发表: 2007年06月15日 15:50 回复
可以提高到Service中使用JTA来实现事务。

注意:你的调用DAO方式:Dao1 d1 = Spring.getBean("dao1");有误,业务层Service和DAO层是同在一个Spring容器中,不能以getBean这样容器外调用方式调用,直接使用IOC注射即可。
cscs31

发表文章: 29
注册时间: 2007年04月06日 10:20
re:请教关于DAO事务控制 发表: 2007年06月15日 16:51 回复
不好意思不太懂Spring,如果我直接用getBean是会有Exception抛出吗?
IOC注射,主要是哪几句API?
gougou3250

发表文章: 98
注册时间: 2007年05月08日 16:48
re:请教关于DAO事务控制 发表: 2007年06月15日 18:05 回复
不需要代码,直接在Spring的配置文件里配类之间的调用关系,可以用构造方法或者SET方法来实现注入,找书看一下,非常简单的
gougou3250

发表文章: 98
注册时间: 2007年05月08日 16:48
re:请教关于DAO事务控制 发表: 2007年06月15日 18:07 回复
AOP来做,当有update , insert , delete操作时,自动调用transaction
cscs31

发表文章: 29
注册时间: 2007年04月06日 10:20
re:请教关于DAO事务控制 发表: 2007年06月19日 09:29 回复
谢谢各个,我想了一下,多个操作的可能不太多,大多是单个的操作,那么用AOP的方法比较好,还有就是多个操作用AOP可能不太好实现。
所以决定单个用AOP,多个的直接在DAO层前加一层调用层,然后再在Service层中调用。折中吧...
这个主题有 5 回复 / 1 页 [ ]
???en_US.forumThreadPrev.name??? 上一主题
Go back to the topic listing   返回主题列表    返回页首  返回页首
???en_US.forumThreadNext.name??? 下一主题
热点TAG: AOP cache DDD EJB 集群 设计模式 Hibernate IOC JiveJdon OO RBAC Spring Struts
查询本论坛内 回复超过的热门帖子
快速发表回复
标题
 
粗体 斜体 下划线 插入图片 插入代码 插入url链接 插入附件
内容
 

解惑之道在J道 ,打造中国最具影响力的的企业软件社区
OpenSource JIVEJDON v3.0 Powered by JdonFramework Code © 2002-07 jdon.com

anti spam