第一种:纯xml配置
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<constructor-arg name="dataSource" ref="dataSource"></constructor-arg>
</bean>
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<!--定制事务细节、传播行为、隔离级别邓-->
<tx:attributes>
<!--一般性配置-->
<tx:method name="*" read-only="false" propagation="REQUIRED" isolation="DEFAULT"/>
<!--查询配置-->
<tx:method name="query*" read-only="true" propagation="SUPPORTS"/>
</tx:attributes>
</tx:advice>
<aop:config>
<!--advice-ref 指向增强 = 横切逻辑 + 方位-->
<aop:advisor advice-ref="txAdvice" pointcut="execution(public void deppon.service.AccountServiceImpl.transfer(java.lang.String,java.lang.String,int))"></aop:advisor>
</aop:config>
第二种:xml + 注解
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<constructor-arg name="dataSource" ref="dataSource"></constructor-arg>
</bean>
<tx:annotation-driven transaction-manager="transactionManager"/>
备注:在类或者方法上添加注解:@Transactional
第三种:注解
在spring配置启动上添加注解:@EnableTransactionManagement,用于替换 xml 中的
<tx:annotation-driven transaction-manager="transactionManager"/>
备注:在类或者方法上添加注解:@Transactional