Spring 事务管理 ,(标题不够长,用XXXXXXXX字补全)

          小弟是一个J2EE的初学者,近来在学非常开源框架SSH,在看Spring事务管理的时候,看得我不知所然。

        网上很多资料都是些怎么进行Spring事务管理,如何如何方便。但是却没找到关于“为什么要进行Spring事务管理”这个问题的答案???

        小弟很想知道,如果我没有用Spring事务管理,那我是如何编程的?
        如果我用了Spring事务管理,又是如何编程的?哪里方便,好处在哪里?

        还有一个问题就是Spring的AOP,在你们开发的系统中,日志、权限控制都是用这个吗?

       望各路da xia指点迷津,拯救这个迷途小羔羊,欢迎拍砖
问题补充
木有人回答,自己顶!!

3个回答

1、首先你要明确事务管理应该对应业务层,而不是DAO层,为什么呢?
有很多时候,你的业务方法同时需要操作几个DAO,假如其中一个出现问题,就必须全部回滚;要做到这样,我们就必须在业务方法开始的时候打开一个事务,业务方法执行完毕提交事务。
Service{
打开事务。。。
DAO1.xxx();
DAO2.xxx();
DAO3.xxx();
出现问题{
事务回滚。。。
}
事务提交。。。
}

如果你不用Spring管理事务,那你就要手动,把Connection放到业务层,手动打开事务,提交事务,回滚事务,这样业务层就不能只专注于业务逻辑。

为什么要进行Spring事务管理

这个问题与Spring没有关系,你需要懂数据库的事务是什么,做什么的等知识,自然就应该明白了。Spring只是给你提供一种方面的工具。建议你还是从JDBC学起,基础的东西很重要。我最反对新手一上来就从框架学起,框架都"会"写练习的一些小应用了,还搞不清楚基础概念呢。

看下 Connection 中这几个与事务有关的方法
void setAutoCommit(boolean autoCommit)
Savepoint setSavepoint(String name)
void commit()
void rollback()
void rollback(Savepoint savepoint)
另外看下对应的视频就明白了
[url]http://www.itcast.cn/itcast_static/JDBCVideo.htm[/url]
[url]http://www.itcast.cn/itcast_static/SpringVideo.htm[/url]

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问