这真是个纠结的问题,如果使用的是Spring切面的话,理论上应该是那个包都能用来控制事物的,但是我在新搭建时发现,为什么事物只能在Service层起作用?
SpringMVC做的Controller,然后分Service层,JPA作为Dao层处理实现。
经过多次实验,发现只能在DAO层和Service层起作用,为什么在Controller就不行呢?
网上看了很多,配置都是那个样,难道我的配置有问题?考虑到是不是因为使用了SpringMVC引起的。
最后在mvc-config.xml配置文件中增加了一行配置:
<tx:annotation-driven transaction-manager="transactionManager" />
才通过测试。
请注意:
不会录入数据的,因为有一行阻碍代码
System.out.println(1 / 0);
访问地址不是工程名字,我改成了jpa,测试不通过的不要再喊了:http://localhost/jpa/user/forAdd.do
表会自动创建的,所以就不带SQL文件了,初学者也不要再问了。
源码包可以做SpringMVC和SpringJPA的示例来参考。
源码下载地址:http://pan.baidu.com/s/1bn91bjD
推荐您阅读更多有关于“ spring jpa controller 事物 回滚 ”的文章
Java小强
未曾清贫难成人,不经打击老天真。
自古英雄出炼狱,从来富贵入凡尘。
发表评论: