首页 新闻 搜索 专区 学院

使用 spring mvc + mybatis + maven 开发,如何在service层设置事务机制???

0
悬赏园豆:20 [待解决问题]

配置文件分为 spring-mvc.xml 和 spring-mybatis.xml两个。

看了网上很多资料,也尝试过多种配置,但是事务回滚依然不起作用??

< >
分享
所有回答(1)
0
 1 <!-- 声明式事物管理 -->
 2     <bean id="transactionManager"
 3         class="org.springframework.orm.hibernate3.HibernateTransactionManager">
 4         <property name="sessionFactory" ref="sessionFactory"></property>
 5     </bean>
 6     <tx:advice id="txAdvice" transaction-manager="transactionManager">
 7         <tx:attributes>
 8             <!-- 以find开头的方法不需要开启事物,且session是readOnly的 -->
 9             <tx:method name="find*" read-only="true" propagation="NOT_SUPPORTED"/>
10             <!-- 其余方法采用默认配置 -->
11             <tx:method name="*" />
12         </tx:attributes>
13     </tx:advice>
14     <aop:config>
15     <!-- 在service层上开始管理事物 -->
16         <aop:pointcut id="operation"
17             expression="execution(public * com.service.impl.*.*(..))" />
18         <aop:advisor advice-ref="txAdvice" pointcut-ref="operation" />
19     </aop:config>

我是用的hibernate,感觉事务管理如果不起作用的话应该是配置aop的时候expression没有配置好。

高山仰止oo | 园豆:210 (菜鸟二级) | 2015-12-10 23:22

请问这种 tx + aop的方式,除了配置文件,还需要修改dao或者service吗??

支持(0) 反对(0) 君子慎独不欺暗室 | 园豆:152 (初学一级) | 2015-12-11 09:20

@Romama: 不用修改代码。但是tx:method的配置要根据service中方法名来配置

支持(0) 反对(0) 高山仰止oo | 园豆:210 (菜鸟二级) | 2015-12-12 13:29

@高山仰止oo: 好的!谢谢~~ 

支持(0) 反对(0) 君子慎独不欺暗室 | 园豆:152 (初学一级) | 2015-12-13 20:09

@高山仰止oo: beans包下需要配置吧??但是我配置了包后,再添加上你给的代码tomcat启动就报错啦。。错误提示好像是引入的包同tx、aop的没有精确匹配,请问你知道怎么解决吗 

支持(0) 反对(0) 君子慎独不欺暗室 | 园豆:152 (初学一级) | 2015-12-14 09:34
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册