1.xml版本
<aop:aspectj-autoproxy proxy-target-class="true" />
<!-- <bean class="com.zy.dev.service.TxAop"></bean> -->
<!-- 配置spring的PlatformTransactionManager,名字为默认值 -->
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
<!-- 开启事务控制的注解支持 -->
<!-- <tx:annotation-driven transaction-manager="transactionManager" /> -->
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="update*" propagation="REQUIRED" isolation="DEFAULT" />
<tx:method name="bulk*" propagation="REQUIRED" isolation="DEFAULT" />
<tx:method name="load*" propagation="REQUIRED" isolation="DEFAULT"
read-only="true" />
</tx:attributes>
</tx:advice>
<aop:config>
<aop:advisor pointcut="execution(* *..*Service*.*(..))"
advice-ref="txAdvice" />
</aop:config>
2.注解版本xml
<aop:aspectj-autoproxy proxy-target-class="true" />
<!-- 配置spring的PlatformTransactionManager,名字为默认值 -->
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
<!-- 开启事务控制的注解支持 -->
<tx:annotation-driven transaction-manager="transactionManager" />
注解版service使用方法,xml版本service不需要设置,按照规则命名即可
@Service
@Transactional
public class UserService extends CommServiceImpl {
public User getUser2(String id) {
return getOneById(User.class, id);
}
public User updateuser(User u) {
User update = update(u);
int a = 1 / 0;
return update;
}
}