废话不多说了,直接说情况,接手新的项目,框架是spring+springmvc+mybatis,在service层事务处理时,事务不回滚,看了下配置文件,发现了问题,所以再此说一下,配置事务需要注意的几个问题
1.web.xml中将spring的配置文件配置到容器中如下:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-mybatis.xml</param-value>
</context-param>
这是配置的父容器
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-mvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
<async-supported>true</async-supported>
这是配置sringmvc是加入的配置文件,也是spring的子容器
所以在配置springmvc的controller注解扫描包时,一定要注意不能包含service层或者dao层的包
<context:component-scan base-package="com.xxx.controller">
如果这边base-package设置的包含了service层,则在service层的注解将不会起作用
原因就是:父容器是不可以访问子容器中的内容,子容器可以访问父容器中的内容
2.在service层的需要处理事务的方法中,如果调用其它方法(比如调用了A方法),那么A方法也需要抛出异常,如果A方法不抛异常,则再A方法中报错的话,事务将不会回滚
3.至于怎么配置事务这个我就不多说了,谷歌一下。。。。。
相关推荐
花了一晚上时间终于搞出来了Spring整合Mybatis事务回滚(Mysql数据库),控制Service层中的多次插入操作,多次操作整体是一个事务。 里面有缘嘛和jar包,资源为war包,导入即可。运行Test类中的测试代码即可。 建表...
在"Spring/SpringMVC/MyBatis整合+事务回滚"的主题中,我们将深入探讨如何将这三个框架整合起来,并实现事务的回滚功能。 首先,Spring框架是核心,它提供了依赖注入(DI)和面向切面编程(AOP)的能力,使得代码更...
**Spring与MyBatis整合的核心步骤:** 1. **引入依赖**:在项目中添加Spring、MyBatis以及数据库驱动的相关jar包,如果使用的是Maven或Gradle,则需在pom.xml或build.gradle中配置相应的依赖。 2. **配置MyBatis**...
3. **Spring与MyBatis整合**:整合Spring和MyBatis主要涉及以下几个步骤: - **配置数据源**:在Spring的配置文件中,我们需要定义数据源(DataSource),这是连接数据库的关键。 - **配置SqlSessionFactory**:...
Spring 和 Mybatis 是两个在...通过上述内容,我们可以看到Spring-Mybatis整合涉及到的核心知识点,包括框架的引入、配置、接口设计、事务管理和测试等多个方面。理解并掌握这些知识点,对于进行Java Web开发至关重要。
下面将详细介绍Spring与MyBatis整合所需的知识点。 1. **Spring Framework**: Spring的核心是IoC(Inversion of Control,控制反转)和DI(Dependency Injection,依赖注入),它通过容器管理对象的生命周期和对象...
"spring+mybatis整合包"是指将这两个框架进行集成,以实现更加高效和灵活的Java开发。下面将详细阐述Spring与MyBatis的整合过程、各自的核心功能以及它们在实际项目中的应用。 1. Spring框架:Spring是Java领域最...
Spring与MyBatis整合** - **配置MyBatis-Spring** 要整合Spring和MyBatis,首先需要引入`mybatis-spring`库,如`mybatis-spring-1.2.2.jar`。这个库提供了Spring与MyBatis之间的桥梁,使得MyBatis的...
Spring与Mybatis的整合,可以利用Spring的管理能力,将Mybatis的SqlSession、Mapper接口和事务管理统一起来,提高代码的可维护性和测试性。 1. Spring与Mybatis的整合步骤: - 配置Mybatis的SqlSessionFactoryBean...
此外,还有spring-aop、spring-tx等模块,分别用于AOP和事务管理,这些都是Spring与MyBatis整合的重要部分。 2. **Mybatis Jar包 (2-mybatisJar包-13个)**:主要包括mybatis核心库、mybatis-sqlmapconfig、mybatis-...
总的来说,这个整合项目是一个典型的Java Web应用开发示例,涵盖了前端控制器、服务层、持久层的集成以及事务管理等多个方面,对于学习和理解Spring MVC、Spring和MyBatis的协作机制具有很高的参考价值。通过注解的...
在IT行业中,Spring框架与MyBatis框架的整合是企业级应用开发中常见的技术栈,尤其是在处理复杂的业务逻辑和数据操作时。这个压缩包文件"Spring_Mybatis"很可能包含了这两个框架的集成示例和配置文件,同时也涉及到...
Spring与MyBatis的整合,一方面利用Spring管理MyBatis的SqlSessionFactory和SqlSession,另一方面Spring通过AOP提供声明式事务管理,进一步简化了数据库操作代码。在声明式事务管理中,我们可以在业务逻辑方法上添加...
6. **Spring MVC整合**:在Web层,Spring MVC可以与Spring+MyBatis整合,Controller通过@Autowired获取Service,Service再通过Mapper执行数据库操作。这样,请求从Controller传递到Service,再到DAO,最后到达数据库...
Spring与MyBatis整合的意义** Spring的IoC(Inversion of Control)容器和AOP(Aspect Oriented Programming)特性可以很好地管理和协调各个组件,而MyBatis则可以提供更灵活的数据库交互方式,两者结合可以实现松...
配置数据源是Spring与MyBatis整合的第一步,它为MyBatis提供数据库连接。 4. **SqlSessionFactory**: - SqlSessionFactory 是MyBatis的核心对象,用于创建SqlSession实例。在Spring中,通常使用 `...
Spring 与 各框架的组各下来,版本就特别的多,针对简单的 使用注解来管理事务的,研究了两天,要不网上...说一下环境 Intellij Idea 15 + Maven + Spring 4.25 + Mybatis 3使用注解的方式,进行的事务回滚,欢迎测试。
Spring 的事务管理会自动处理事务的开启、提交或回滚。 通过这样的整合,开发者可以充分利用 Spring 的 DI 和 AOP 功能,以及 MyBatis 的灵活 SQL 编写能力,构建出高效、可维护的企业级应用。在实际项目中,还可以...
通过上述步骤,我们完成了Spring和Mybatis的整合,实现了基于Java的声明式事务管理、SQL操作与业务逻辑的分离,以及数据库操作的便捷性。这样的架构既保留了Spring的灵活性,又利用了Mybatis对SQL的友好支持,是Java...
以下将详细讲解Spring与MyBatis的整合过程及其关键知识点。 1. **Spring简介**:Spring是一个开源的Java平台,它为构建Java应用程序提供了一个全面的框架。它通过依赖注入(DI)和面向切面编程(AOP)简化了应用...