spring将service添加事务管理,在applicationContext.xml文件中的设置

在applicationContext.xml文件中的设置为:

 1 <beans>
 2 <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
 3         <property name="dataSource" ref="dataSource" />
 4         <!-- 注解的类太多了,可以采用packagesToScan来配置,直接扫描包-->
 5         <property name="packagesToScan">
 6             <list>
 7                 <value>com.lcsoft.mobile.bean</value>
 8             </list>
 9         </property>
10
11         <property name="hibernateProperties">
12             <props>
13                 <prop key="hibernate.dialect">${hibernate.dialect}</prop>
14                 <prop key="hibernate.show_sql">${hibernate.showsql}</prop>
15             </props>
16         </property>
17     </bean>
18
19     <!-- 定义事务管理器(声明式的事务) -->
20     <bean id="transactionManager"
21         class="org.springframework.orm.hibernate3.HibernateTransactionManager">
22         <property name="sessionFactory" ref="sessionFactory" />
23     </bean>
24 <tx:advice id="txAdvice" transaction-manager="transactionManager">
25         <tx:attributes>
26             <tx:method name="*" propagation="REQUIRED" />
27         </tx:attributes>
28     </tx:advice>
29
30     <aop:config>
31         <aop:pointcut id="interceptorPointCuts"
32             expression="execution(* com.mysoft.mobile.*.*(..))" />
33         <aop:advisor advice-ref="txAdvice"
34             pointcut-ref="interceptorPointCuts" />
35     </aop:config>
36
37     <bean id="SysUserService"
38         class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"
39         abstract="true">
40         <property name="transactionManager" ref="transactionManager" />
41         <property name="transactionAttributes">
42             <props>
43                 <prop key="push*">
44                     PROPAGATION_SUPPORTS,readOnly,-DataAccessException,-BaseException
45                 </prop>
46             </props>
47         </property>
48     </bean>
49 </beans>
时间: 2024-11-10 01:23:20

spring将service添加事务管理,在applicationContext.xml文件中的设置的相关文章

事务配置在applicationContext.xml文件中不起作用,控制不了异常回滚

一.博主在学习到整合ssm框架的时候,遇到一个奇葩的问题就是将 事务的控制 ,写在在applicationContext.xml文件中不起作用,在事务控制的方法中,即使出现了异常,但是事务不会回滚的坑,按道理说,我们配置了事务,在异常发生是,运行时期的异常被我们的框架捕获到,就会为我们做出回滚的操作,但是就是没有,比如博主写的一个简单的转帐的事务,第一个账户的钱被扣除了,但是在执行完扣钱之后发生了异常但是我们在数据库中却发现,钱仍然被扣了, 博主也试过网上的大多数的方法,都是只说原因,并不能解决

Spring MVC框架下在java代码中访问applicationContext.xml文件中配置的文件(可以用于读取配置文件内容)

<bean id="propertyConfigurer" class="com.****.framework.core.SpringPropertiesUtil" lazy-init="false"> <property name="locations"> <list> <value>classpath:config/sys.properties</value> &

applicationContext.xml文件中&lt;bean&gt;标签中property属性用法说明

<bean name="useraaa" class="com.maple.bean.User"> <property name="name"> <value>小强</value> </property> <property name="age"> <value>26</value> </property> <pr

ApplicationContext.xml文件详解

想必用过Spring的程序员们都有这样的感觉,Spring把逻辑层封装的太完美了(个人感觉View层封装的不是很好).以至于有的初学者都不知道Spring配置文件的意思,就拿来用了.所以今天我给大家详细解释一下Spring的applicationContext.xml文件.Ok,还是通过代码加注释的方式为大家演示: 以下是详解Spring的applicationContext.xml文件代码:<!-- 头文件,主要注意一下编码 --> [html] view plaincopyprint? &

applicationContext.xml文件如何调用外部properties等配置文件

只需要在applicationContext.xml文件中添加一行: <!-- 导入外部的properties文件 --> <context:property-placeholder location="classpath:jdbc.properties"/> 其中:location属性是指该文件的位置. 如果是在src目录下的话,该位置为:classpath:文件名.后缀 如果是在/WEB-INF/目录下的话,该位置为: /WEB-INF/文件名.后缀 但是要

spring mvc + mybatis + spring aop声明式事务管理没有作用

在最近的一个项目中,采用springMVC.mybatis,发现一个很恼人的问题:事务管理不起作用!!网上查阅了大量的资料,尝试了各种解决办法,亦未能解决问题! spring版本:3.0.5 mybatis版本:3.2.2 1.applicationContext.xml配置: mvc + mybatis + spring aop声明式事务管理没有作用" title="spring mvc + mybatis + spring aop声明式事务管理没有作用">2.spr

12 Spring框架 SpringDAO的事务管理

上一节我们说过Spring对DAO的两个支持分为两个知识点,一个是jdbc模板,另一个是事务管理. 事务是数据库中的概念,但是在一般情况下我们需要将事务提到业务层次,这样能够使得业务具有事务的特性,来管理业务. 例如:在银行的转账系统中,张三转账给李四,需要完成从张三的账户上扣取指定金额并加到李四的账户上,这样一个过程需要具有原子性,即要成功都成功,要失败都失败.转账的过程即两个对账户更新,需要将事务提升到业务层次,使得两个操作具有原子性! 对以上的实现,Spring的API中有两个常用的接口我

Spring整合hibernate4:事务管理

Spring和Hibernate整合后,通过Hibernate API进行数据库操作时发现每次都要opensession,close,beginTransaction,commit,这些都是重复的工作,我们可以把事务管理部分交给spring框架完成. 配置事务(xml方式) 使用spring管理事务后在dao中不再需要调用beginTransaction和commit,也不需要调用session.close(),使用API  sessionFactory.getCurrentSession()来

Spring基于声明的事务管理方式

基于注解的事务管理方式虽然使事务的管理变得很容易但是你还是需要把所有业务层的实现类都用@Transactional注解标记,那么有没有一种更为简单的一劳永逸的方法管理事务呢? 基于声明的事务管理只需要少许的配置即可为所有业务层逻辑添加事务管理,在SpringMVC+Hibernate4+Bootstrap3基础上去除UserServiceImpl.java的@Transactional注解并修改applicationContext.xml为如下: <?xml version="1.0&qu