Spring配置之hibernate事物管理AOP
2017-05-20 10:30
441 查看
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<!-- 1、事务管理器,PlatformTransactionManager接口的某个实现类,实现事务的常规提交和回滚操作, Hibernate框架对应的实现类是HibernateTransactionManager,需要注入sessionFactory。 -->
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<!-- 注解方式配置事物 :在Service上添加@transaction -->
<!-- <tx:annotation-driven transaction-manager="transactionManager" /> -->
<!-- 2.事物拦截器 拦截的方法: -->
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="*" read-only="true" />
<tx:method name="save*" propagation="REQUIRED" />
<tx:method name="add*" propagation="REQUIRED" />
<tx:method name="update*" propagation="REQUIRED" />
<tx:method name="delete*" propagation="REQUIRED" />
</tx:attributes>
</tx:advice>
<!-- 3.事物拦截切面配置 -->
<aop:config>
<!-- 指定切入点 和匹配表达式 -->
<aop:pointcut expression="execution(* com.*.service.impl.*.*(..))"
id="aopPointcut" />
<!-- 增强器:是切入点(pointcut)和advice 的适配器 -->
<!-- 指定在哪个Pointcut切入点应用txAdvice事务增强处理 -->
<aop:advisor advice-ref="txAdvice" pointcut-ref="aopPointcut" />
</aop:config>
</beans>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<!-- 1、事务管理器,PlatformTransactionManager接口的某个实现类,实现事务的常规提交和回滚操作, Hibernate框架对应的实现类是HibernateTransactionManager,需要注入sessionFactory。 -->
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<!-- 注解方式配置事物 :在Service上添加@transaction -->
<!-- <tx:annotation-driven transaction-manager="transactionManager" /> -->
<!-- 2.事物拦截器 拦截的方法: -->
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="*" read-only="true" />
<tx:method name="save*" propagation="REQUIRED" />
<tx:method name="add*" propagation="REQUIRED" />
<tx:method name="update*" propagation="REQUIRED" />
<tx:method name="delete*" propagation="REQUIRED" />
</tx:attributes>
</tx:advice>
<!-- 3.事物拦截切面配置 -->
<aop:config>
<!-- 指定切入点 和匹配表达式 -->
<aop:pointcut expression="execution(* com.*.service.impl.*.*(..))"
id="aopPointcut" />
<!-- 增强器:是切入点(pointcut)和advice 的适配器 -->
<!-- 指定在哪个Pointcut切入点应用txAdvice事务增强处理 -->
<aop:advisor advice-ref="txAdvice" pointcut-ref="aopPointcut" />
</aop:config>
</beans>
相关文章推荐
- spring和hibernate集成事物管理配置方法
- Spring3.0配置AOP事物管理
- spring中配置hibernate事务管理,出错时事物不回滚
- Spring 管理hibernate事物,xml配置,注解 两种实现方式
- Spring配置hibernate事物管理
- spring和hibernate集成事物管理配置方法
- hibernate做持久层,spring管理事物的架构方式
- 利用Spring的AOP来配置和管理你的二级缓存(EHCache)
- spring配置里面的事物管理
- 在Spring中采用声明式方法对Hibernate和JDBC进行统一的事务配置(AOP)
- Spring管理 hibernate 事务配置的五种方式
- Spring 管理hibernate中的事务1(手动开关事务,Aop拦截)
- spring使用annonation管理hibernate的事物
- Spring Hibernate在AOP方面的配置冲突解决之道
- Spring JDBC和Hibernate混用时,如何配置事务管理
- 在Spring中采用声明式方法对Hibernate和JDBC进行统一的事务配置(AOP)
- 利用Spring的AOP来配置和管理你的二级缓存(EHCache) 记录以备查询
- spring整合hibernate的事物管理
- 利用Spring的AOP来配置和管理你的二级缓存(EHCache)
- Spring Aop 日志管理及配置文件的详细配置