求教大神,看书上说
tx:annoation-driven/只会查找和它在相同的应用上下文件中定义的bean上面的@Transactional注解,如果你把它放在Dispatcher的应用上下文中,它只检查控制器上的@Transactional注解,而不是你services上的@Transactional注解。
不明白什么意思,spring上下文主要做什么,service与Controller不在同一个上下文吗,service类与controller类在配置事务的时候区别是什么呢
@transactional可以注解到controller上吗?
- 写回答
- 好问题 提建议
- 追加酬金
- 关注问题
微信扫一扫
分享- 邀请回答
5条回答 默认 最新
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
剑握在手 2017-11-17 06:13最佳回答 专家已采纳一般的配置方法是让Spring管理除了Controller注解以外注解,而让SpringMVC单纯管理Controller注解。
也就是说Spring有一个配置文件,里面配置成扫描非Controller的bean,SpringMVC有一个配置文件,里面只扫描Controller。
这样就形成了两个上下文,即Spring的上下文和SpringMVC的上下文,他们分别管理着不同的俩堆bean。这个时候你在Spring的配置文件里加了一句tx:annoation-driven,其实是告诉Spring,你管理的这些bean里面有可能会出现需要事务支持的。
然后在Spring管理范围的某个bean上加了个注解@transactional,其实是用来帮助Spring识别这个bean是需要事务管理的。同样你在Spring的配置文件里加了tx:annoation-driven,SpringMVC是不关心的,他只关心你给他配置了什么以及他管理的bean上有什么注解
采纳该答案 已采纳该答案 专家已采纳评论解决 6 无用打赏举报微信扫一扫
分享评论登录 后可回复...
查看更多回答(4条)
报告相同问题?
提交
相关推荐 更多相似问题
- 2017-11-17 05:18回答 5 已采纳 一般的配置方法是让Spring管理除了Controller注解以外注解,而让SpringMVC单纯管理Controller注解。 也就是说Spring有一个配置文件,里面配置成扫描非Controll
- 2022-05-18 16:51回答 2 已采纳 2022-05-19 10:33:17.972 DEBUG 5320 --- [0800-thread-199] y.bss.hjjk.dao.HjjkEnterpriseDao.insert :
- 2019-11-15 15:51回答 1 已采纳 看下class与你java代码一致么。是不是没编译过来,
- 2021-01-30 16:10木子的木木的博客 @Transactional对Controller的某个方法进行修饰时,该Controller下的所有接口都无法访问,出现大量404 分析和问题分解 1、@Transactional的原理是创建代理 2、Controller并无实现任何接口 3、代理类直接生成非原类型...
- 2021-11-20 16:48b348858003的博客 @Transactional注解失效,pom.xml少了以下依赖 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.1.5.RELEASE&...
- 2022-04-03 22:08MinggeQingchun的博客 一、Java事务 1、通常的观念认为,事务仅与数据库相关。 事务必须服从ISO/IEC所制定的ACID原则。ACID是原子性(atomicity)、一致性(consistency)、隔离性 (isolation)和持久性(durability)的缩写。 事务的...
- 2011-12-15 11:40回答 1 已采纳 问题1:[quote]对@Controller这样未经xml配置的bean却不起作用,如何解决这个问题呢[/quote] 在spring配置文件里加上[code="java"]
- 2018-05-10 06:28回答 13 已采纳 扫描路径后面不要写“.*”,还有视图解析器呢?
- 2020-12-24 21:58回答 4 已采纳 建议用spring boot写项目
- 2017-11-21 17:35Fly2leo的博客 笔者在基于 Spring Boot 开发服务框架时,想要在 Controller 层使用 @Transactional 注解引入 Spring 的事务管理,但是却遇上了很奇葩的问题。 例如以下代码,给 Controller 类的add方法加上@Transactional,这个 ...
- 2022-01-05 10:50hero_lxz的博客 常见事务失效原因: 1.内部调用(常见于同一个...而我出现的场景并不在上述的原因列表中,且伴随着@Async注解也失效了,其实是由于Spring 的Aop失效导致的,并可观测出,在controller层拿到的springboot自动注入的serv
- 2021-07-03 14:36懒虫虫~的博客 一、思维导图 Spring 事务管理分为编程式和声明式两种。编程式事务指的是通过编码方式实现事务;声明式事务基于 AOP,将具体的逻辑与...@Transactional 注解只能应用到 public 方法才有效。 1.1 声明式事务管理实现
- 2017-12-11 04:31回答 7 已采纳 这个应该是一个警告,可能是你的变量命名有问题, idea设置中是不是警告用的就是红色下标,在eclipse中这种警告是黄色下标。
- 回答 9 已采纳 事务你已经交给DataSourceTransactionManager进行管理了,配置注解之后如果想要回滚,就不要将异常捕捉消化掉,直接将异常抛出,事务就回滚了
- 2015-09-20 20:38回答 6 已采纳 没错啊,就是这个访问url::http://127.0.0.1:8080/AppServer_1.1/msgAction/msg.do
- 2021-09-08 15:47码农不问出处的博客 在一个service接口实现类中有一个业务方法添加了@Transactional注解的话,使用它的类在spring的环境下直接@Autowired自动装配注入时 ,类在初始化构造时会直接动态代理整个类 1.在调用有@Transactional注解的方法是...
- 2021-10-26 14:11Codke的博客 @Transactional放在controller中无法回滚的问题 如下代码: 调用该接口,预期的结果是会报异常并且添加操作进行回滚。但是结果却是事务没有回滚,数据正常加入数据库中。 原因分析:(个人理解,不晓得对不对) ...
- 2021-10-25 19:46青春不散场的博客 @Transactional 只能被应用到public方法上, 对于其它非public的方法,如果标记了@Transactional也不会报错,但方法没有事务功能. 用 spring 事务管理器,由spring来负责数据库的打开,提交,回滚.默认遇到运行期例外...
- 回答 2 已采纳 ClassNotFoundException首先看类引进来没,另外工程名不要用中文会引起一起诡异的问题 1.请将工程名命名为英文的 2.在pom文 件引入pagehelper,
- 2020-01-15 18:05Java_2017_csdn的博客 Java Spring事务管理与@Transactional注解式事务详解 MicoCube关注 2019.02.04 16:43:36字数 2,771阅读 1,447 spring事务管理是指在业务代码在出现异常之后,对之前的操作进行回滚,保证数据库数据的一致性 ...
- 没有解决我的问题, 去提问