首先看一下我的工程下的一些信息

我在web.xml的配置信息

在applicationContext-commn.xml中的配置信息

<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">
<!-- 配置sessionFactory -->
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation">
<value>classpath:hibernate.cfg.xml</value>
</property>
</bean>
<!-- 配置事物管理器 -->
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<!-- 配置事物的传播特性 -->
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="add*" propagation="REQUIRED" />
<tx:method name="del*" propagation="REQUIRED" />
<tx:method name="modify*" propagation="REQUIRED" />
<tx:method name="*" read-only="true" />
</tx:attributes>
</tx:advice>
<!--哪些类的哪些方法参与事物 -->
<aop:config>
<!-- 第一个*代表所有的返回值情况,第二个*代表指定包中的所有的类,第三个*代表类中的所有的方法 -->
<aop:pointcut id="allManagerMethod"
expression="execution(* com.lv.user.manager.*.*(..))" />
<aop:advisor pointcut-ref="allManagerMethod"
advice-ref="txAdvice" /><!-- spring特有的概念,可以将其理解为aspect -->
</aop:config>
本文介绍了Spring框架中如何配置事务管理,包括使用Hibernate进行数据库操作的sessionFactory配置、事务管理器transactionManager配置,以及通过tx:advice定义不同方法名前缀对应的不同事务传播行为,并利用aop:config实现对特定包下所有类的方法进行事务增强。
941

被折叠的 条评论
为什么被折叠?



