Spring使用Annotation进行声明式事事务管理
实现的功能是在保存用户的时候向数据库中的表增加一条日志记录
首先,在配置文件中要添加事务的命名空间以及SchemaLocation
xmlns:tx=http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
其次,要配置事务管理器
<tx:annotation-driven transaction-manager="txManager"/> <bean id="txManager"class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory"/> </bean>
再次,在想要进行事务管理的方法上面添加@Transactional注释
Spring使用XML进行声明式事务管理
首先和上面一样引入事务的命名空间以及SchemaLocation
其次,在配置文件中配置一下内容:
<bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<tx:advice transaction-manager="txManager" id="txAdvice">
<tx:attributes>
<tx:method name="getUser" read-only="true"/>
<tx:method name="add*" />
</tx:attributes>
</tx:advice>
<aop:config>
<aop:pointcut expression="execution(public * com.bjsxt.service..*.*(..))" id="myPointcut"/>
<aop:advisor advice-ref="txAdvice" pointcut-ref="myPointcut"/>
</aop:config>