关于txAdvice

关于txAdvice

http://img1.sycdn.imooc.com//climg/5bfd18020001e0d904430194.jpg

设置ead-only="true"为只读 这个过程是怎样的?

  1. 是执行了get开头的方法之后 那么这个方法就不能被修改之类的吗?

  2. 这样子设置的意义在哪里呢?是为了防止什么样的情况发生呢?


propagation="REQUIRED"  这个是新建事务吧?就是说不管运行哪个方法都会新建成事务对吧?
 

正在回答

登陆购买课程后可参与讨论,去登陆

3回答

同学是说的:

http://img1.sycdn.imooc.com//climg/5bfe10e80001e96614540393.jpg

上图红框部分是吗?

其实道理是相同的,我们只是引用了id是transationManager 的事务管理器。例如我们还配置了,id是transationManager1 的事务管理器,到时候想用id是transationManager1 的事务管理器时,就可以直接把transaction-manager属性后边的值改成transationManager1 。这样我们的配置更加的灵活。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 音殿 提问者 #1
    为什么advice会用到事务管理器?事务管理器在通知里的具体作用是做什么的?
    2018-11-28 21:57:40
  • 慕布斯37364 回复 提问者 音殿 #2
    https://zhidao.baidu.com/question/535267385.html 你可以看看这个解释。
    2018-11-29 10:39:30
  • 音殿 提问者 回复 慕布斯37364 #3
    事务管理器在通知里的具体作用是做什么的?
    2018-11-29 11:14:24
好帮手慕阿莹 2018-11-27 19:09:09

1、设置成只读的意义是防止你在匹配的以上方法中对数据库的代码进行修改,

因为我们一般把从表中查数据的方法会设置成 get**,find** 等,一般以这些开头的都是查询的方法,我们可以通过设置只读属性,只允许你去查,但是不能修改表中的数据。也就是说,你即使在get**的方法中不小心写了插入,更新等sql语句都不管用,因为我们设置了只读。

2、propagation="REQUIRED" 的意思同学说的是对的,其他的方法,我们让它必须用事物,也就是像同学说的给它新建一个事物。

3、

http://img1.sycdn.imooc.com//climg/5bfd24f300012e9910020108.jpg

它的意思是我们对该数据源设置事物。

同学可以想象一下,我们正式的数据和测试的数据应该是存放在不同的数据库中的。

如果我们只像对其中的一个设置呢?都使用同一个Dao,但是我们可以分情景设置不同的数据源。

这里我们就可以对不同的数据源设置不同的事物。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!


  • 提问者 音殿 #1
    额 前两个问题我理解了 第三个问题我说的是 声明通知txAdvice 里的transaction-manager="transationManager"属性的作用 不是transationManageer的~~
    2018-11-28 11:18:41
提问者 音殿 2018-11-27 18:16:36

还有 为什么需要用到transaction-manager="transationManager"里的 dataSource呢? dao层有dataSource 不是调用dao层就行了吗?

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星

相似问题

登录后可查看更多问答,登录/注册

SSM主流框架入门与综合项目实战2018版
  • 参与学习           人
  • 提交作业       205    份
  • 解答问题       4317    个

Java中非常实用的SSM整合开发内容,从Spring开始,到MyBaits的进阶内容,再到SpringMVC的应用,最后是SSM整合开发案例,逐步深入,助你成长为一名Java工程师!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师