現(xiàn)在應(yīng)該增加數(shù)據(jù)庫(kù)的事務(wù)管理了。
spring-myBatis的事務(wù)管理
事務(wù)管理的話,是用AOP實(shí)現(xiàn)的
1:引入依賴(lài)
<!--aop的框架-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>${springVersion}</version>
</dependency>
<!--分析切點(diǎn)表達(dá)式的框架-->
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.9.5</version>
</dependency>
2:怎么用?
在beans.xml里增加以下
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<!--這里的dataSource bean 要和org.mybatis.spring.SqlSessionFactoryBean里面的用同一個(gè)-->
<constructor-arg ref="dataSource"/>
</bean>
<!--增強(qiáng)-->
<tx:advice id="tx" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="fetch*" propagation="SUPPORTS" read-only="false"/>
<tx:method name="*" propagation="REQUIRED" read-only="false"/>
</tx:attributes>
</tx:advice>
<!--切面在哪里,切到哪里-->
<aop:config>
<aop:pointcut id="pc" expression="execution(* com.ppf.service.*.*(..))"/>
<aop:advisor advice-ref="tx" pointcut-ref="pc"/>
</aop:config>