spring中事务(2)

1.Spring声明式事务:配置声明式事务处理(配置Spring,针对service层的bean做事务处理)
a.Spring事务模板:

<!--声明jdbc事务管理器-->
<bean id="jdbcTransactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource">
<ref bean="dataSource"/>
</property>
</bean>

  <!--声明集成Hibernate事务管理器-->
  <bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
  
   <!--拦截器,定义切面在哪些方法上使用-->
<bean id="proxyInterceptor"
class="org.springframework.transaction.interceptor.TransactionInterceptor">
<property name="transactionManager">
<ref bean="transactionManager" />
</property>

<property name="transactionAttributes">
<props>
<!--所有以get,load方法开头的操作都是只读的事务,get和load也可以修改成其他的开头方式-->
<prop key="*">PROPAGATION_REQUIRED</prop>  <!--事务类型-->
<prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="load*">PROPAGATION_REQUIRED,readOnly</prop>
</props>
</property>
</bean>

  <!--代理类,定义切面在哪些类上使用-->
<bean
class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
<property name="interceptorNames">
<value>proxyInterceptor</value>
</property>
<property name="beanNames">
<list>
<value>*Service</value>
</list>
</property>
</bean>

猜你喜欢

转载自hongzhguan.iteye.com/blog/1044402