`
muqingren
  • 浏览: 32383 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

SpringMVC事务问题

阅读更多
我事务用xml配置的形式给出,如下
<!-- 配置事务管理 -->
    <bean id="transactionManager" 
		class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
		<property name="dataSource">
			<ref local="dataSource"/>
		</property>
	</bean>
	<!-- 定义了所有事务处理方面的公共属性 -->
	<bean id="baseTxProxy" abstract="true"
		class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
		<property name="transactionManager">
			<ref bean="transactionManager"/>
		</property>
		<property name="transactionAttributes">


我的事务配置在业务层,在spring里定义bean的时候,继承上面的抽象事务,如下:
<!-- login -->
    <bean name="baselogin" parent="baseTxProxy">
		<property name="target" ref="loginbs"></property>
	</bean>
	<bean name="loginbs" class="cos.authority.login.business.impl.LoginBsImpl" >
		<property name="logindao" ref="logindao"></property>
		<property name="menudao" ref="menudao"></property>
	</bean>

springMVC用的是注解的形式,配置如下:
<context:component-scan base-package="cos"/>
	<!-- hendlerMapping -->
	<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />
	
	<!-- Resolve logical view names to .jsp resources in the /WEB-INF/views directory --> 
	<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix" value="/WEB-INF/views/" />
		<property name="suffix" value=".jsp" />
	</bean>
	<!-- Exception handler -->
	<bean class="cos.frame.exception.CosExceptionHandler" />
	<!-- authority intercepter -->
	<mvc:interceptors>
		<bean class="cos.frame.authorize.CosAuthorityInterceptor">
		</bean>
	</mvc:interceptors>


然后我的业务层的事务就不再起作用了,我按照你说的,在MVC扫描包的时候我设置use-default-filters="false",并且只扫描我定义的controller,还是不行啊,这可怎么解决啊,是不是第一次扫描spring全局的时候就把这些bean初始化了?
分享到:
评论
7 楼 muqingren 2011-03-22  
终于搞定
我的问题和这些都没有关系,是我在controller里注入service类的时候用的是@autowire,默认是类型注入,则自动找我定义的没有事务控制的bean,后改为@Resource(name='baseuserbs')
事务回滚
谢谢 fuliang 
6 楼 muqingren 2011-03-22  
这是别人的解决方法,为啥我的不行呢.......
http://www.iteye.com/topic/714686
5 楼 muqingren 2011-03-22  
<context:component-scan base-package="cos">
	</context:component-scan>
	<!-- 配置事务管理 -->
    <bean id="transactionManager" 
		class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
		<property name="dataSource">
			<ref bean="dataSource"/>
		</property>
	</bean>
	<!-- 定义了所有事务处理方面的公共属性 -->
	<bean id="baseTxProxy" abstract="true"
		class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
		<property name="transactionManager">
			<ref bean="transactionManager"/>
		</property>
		<property name="transactionAttributes">
			<props>
				<prop......</prop>
               		</props>
		</property>
	</bean>
	<!-- hendlerMapping -->
	<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />
	
	<!-- Resolve logical view names to .jsp resources in the /WEB-INF/views directory --> 
	<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix" value="/WEB-INF/views/" />
		<property name="suffix" value=".jsp" />
	</bean>
	<!-- Exception handler -->
	<bean class="cos.frame.exception.CosExceptionHandler" />
	<!-- authority intercepter -->
	<mvc:interceptors>
		<bean class="cos.frame.authorize.CosAuthorityInterceptor">
		</bean>
	</mvc:interceptors>
4 楼 muqingren 2011-03-22  
,我试过了,还是不生效
我现在声明式事务已经配置在了XX-servlet.xml里面了,定义bean的XML我也单独提取出来和XX-servlet.xml一起加载,因为我的事务是一个抽象事务
能在帮我看看嘛?谢谢
3 楼 muqingren 2011-03-22  
,我昨天试过了,配置都通过不了,我再试试
2 楼 fuliang 2011-03-21  
如果扫描两次,将导致业务方法没有事务。但是如果在Spring MVC的xxx-servlet.xml中配置事务,可以解决这个问题。
1 楼 muqingren 2011-03-21  
,帮忙,谢谢了

相关推荐

    springMVC事务不失效

    springMVC使用注解,事务不失效 直接导入myeclipse,在mysql的test数据库中新建个user表、字段属性如下 username varchar 20 userpwd varchar 20

    SpringMVC事务管理

    在这个基于Maven创建的SpringMVC项目中,我们将探讨Spring对业务层的事务管理,包括编码方式、XML传统配置方式以及基于AOP的XML配置方式。 首先,让我们理解事务管理在Java应用中的重要性。事务是数据库操作的基本...

    springMVC+MYBATIS事务管理

    1. **SpringMVC框架事务管理** SpringMVC是Spring框架的一部分,提供了模型-视图-控制器(MVC)设计模式的实现。它不直接处理事务,而是依赖于Spring的核心功能——IoC(Inversion of Control)容器和AOP(Aspect-...

    springmvc_mybatis3.01.zip_SpringMVC事务_漏洞

    【SpringMVC与MyBatis 3.01集成及事务管理详解】 SpringMVC作为一款优秀的MVC框架,常用于构建Web应用的控制层,而MyBatis则是一款轻量级的持久层框架,专注于SQL映射。将两者集成可以实现灵活的数据访问和高效的...

    Spring+SpringMVC+Mybatis框架搭建(含事务管理)

    SSM框架,即Spring、SpringMVC和Mybatis的组合,是Java开发中常见的Web应用程序构建框架。这个框架集合提供了模型-视图-控制器(MVC)架构模式的实现,以及数据库操作的便利性,是企业级应用开发的常用选择。 **...

    Spring/SpringMVC/MyBatis整合+事务回滚

    在"Spring/SpringMVC/MyBatis整合+事务回滚"的主题中,我们将深入探讨如何将这三个框架整合起来,并实现事务的回滚功能。 首先,Spring框架是核心,它提供了依赖注入(DI)和面向切面编程(AOP)的能力,使得代码更...

    springmvc+mybatis+声明式事务管理

    在IT行业中,SpringMVC、MyBatis以及声明式事务管理是Java Web开发中的关键组件。这个项目结合了这三个核心技术,构建了一个高效、稳定的后端系统。以下将详细阐述这些技术及其相互配合的工作原理。 首先,...

    Spring+SpringMVC配置事务管理无效原因及解决办法详解

    然而,在使用 Spring 和 SpringMVC 配置事务管理时,可能会遇到事务管理无效的问题。本文将详细介绍 Spring+SpringMVC 配置事务管理无效原因及解决办法。 事务管理在 Spring 中的重要性 在企业级应用程序中,事务...

    SpringMVC配置多数据源实战

    在SpringMVC框架中配置多数据源是一项常见的需求,尤其在大型企业级应用中,由于业务的复杂性,往往需要连接不同的数据库以满足不同模块的需求。以下将详细讲解如何实现这一功能。 首先,理解数据源(DataSource)...

    Spring4+SpringMVC+Mybaties 内含有事务控制

    本教程将深入探讨如何在Spring4、SpringMVC和MyBatis集成环境下实现事务控制。 首先,让我们了解这三个组件的基本概念: 1. **Spring4**:Spring是一个开源的Java平台,它提供了全面的企业级应用开发解决方案,...

    SpringMVC实现一个完整的项目

    总之,通过SpringMVC,我们可以高效地构建一个完整的Web应用,充分利用其强大的注解驱动、面向切面编程和事务管理能力,同时保持代码的清晰和可维护性。在实际开发中,还会涉及到错误处理、国际化、安全控制等多个...

    SpringMVC+ibatis整合

    - **事务管理**:SpringMVC和iBatis整合后,可以利用Spring的声明式事务管理,简化事务控制。 - **缓存支持**:iBatis支持二级缓存,结合Spring的缓存抽象,可以实现更高效的缓存策略。 - **AOP编程**:Spring...

    mybaits springmvc注解,事务、一对多配置 oracle11g 存储过程 汉字拼音首字母

    这是一个完整的mybaits3.0+springmvc+oracle11g项目,包括sql,存储过程等,下载修改数据库连接 即可运行,包括数据增删改查,一对多查询,调用存储过程。完整的配置文件注释,绝对是入门级教材!另附有根据汉字获取...

    SpringMVC+Mybatis demo

    3. **事务管理**:Spring提供PlatformTransactionManager接口来管理事务,通常使用DataSourceTransactionManager配合JDBC驱动实现。 4. **Service层**:Service层是业务逻辑的核心,它调用Mapper接口进行数据库操作...

    SpringMVC+sqlitejdbc的jar集合

    4. **事务处理**:支持开始、提交和回滚事务,确保数据的一致性。 将SQLiteJDBC与SpringMVC结合,可以为小型项目提供一个快速、轻便的数据库解决方案。SpringMVC中的Service层可以利用SQLiteJDBC进行数据操作,通过...

    SpringMVC+Mysql实例详解

    你需要在Spring配置文件中声明数据源,并创建一个事务管理器来处理数据库事务。 数据库连接池是提高性能的关键,例如Apache的DBCP或C3P0,它们能有效管理数据库连接,减少资源消耗。在Spring配置文件中,你会看到...

    SpringMVC+Hibernate+EXT

    Hibernate支持CRUD(创建、读取、更新、删除)操作,事务管理,以及HQL(Hibernate查询语言)和Criteria API,使得数据库查询更为简洁和高效。 【EXT】 EXTJS(现称为Sencha EXT JS)是一个用于构建富客户端...

    SpringMVC项目

    在SpringMVC项目中,log4j2可以用来记录调试信息、错误信息,帮助开发者定位和解决问题。 **4. 注解** 在SpringMVC中,注解被广泛应用,以简化配置和提高代码可读性。例如: - `@Controller`:标记一个类作为...

    SpringMVC+Hibernate+Spring整合实例

    SpringMVC、Hibernate和Spring是Java开发中三大核心框架,它们各自负责应用程序的不同层面:SpringMVC用于处理HTTP请求和响应,Hibernate则是持久层框架,负责数据库操作,而Spring作为全能容器,提供依赖注入和面向...

    SpringMVC+MyBatis 事务管理(实例)

    SpringMVC+MyBatis事务管理(实例) 本文主要讨论了SpringMVC+MyBatis事务管理的相关知识,涵盖了编程式注解事务和基于注解的声明式事务两种方式。 1. Spring事务管理的分类 Spring事务管理可以分为两种情况:...

Global site tag (gtag.js) - Google Analytics