在项目中遇到一个这样的问题,在service层加了注解:@Transactional,仍然出现错误,依然会提示No transactional EntityManager available 。
在网上查了好久才找到原因。
原本在applicationContext.xml 配置文件中扫描包这样配置的:
<context:component-scan base-package="com.test" >
在spring-mvc.xml 配置文件中扫描包这样配置的:
<context:component-scan base-package="com.test" >
改成如下即可。
applicationContext.xml 配置文件中排除Control层:
<context:component-scan base-package="com.test" >
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller" /> </context:component-scan>
spring-mvc.xml 配置文件中,加入Control层,排除Service层:
<context:component-scan base-package="com.test">
<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller" />
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Service" />
</context:component-scan>
再经测试没问题
相关推荐
在本文中,我们将深入探讨如何在Spring Boot项目中整合MyBatis、JPA,并使用EntityManager进行数据访问。同时,我们还将介绍如何集成Redis缓存服务,以及如何对接微信支付和支付宝支付接口,以实现全面的支付功能。 ...
- **Persistence context scope**:指明持久化上下文的作用域,可以是transactional(事务性)、extended(扩展)等。 - **Persistence context propagation**:描述了持久化上下文如何传播到子事务中,以及是否参与...
使用`@Transactional`注解可以声明方法在一个事务中执行,或者在代码中显式调用`entityManager.getTransaction().begin()`和`entityManager.getTransaction().commit()`来控制事务。事务处理确保了数据的一致性。 ...
在Java后端开发中,Spring框架提供了强大的事务管理能力,特别是在使用Spring Data JPA时,`@Transactional`注解使得事务处理变得简单易用。这个注解是Spring框架中的核心部分,它允许开发者声明性地控制事务边界,...
@Transactional实现原理.txt
《事务内存(Transactional Memory):理解并行编程的新范式》 事务内存(Transactional Memory,简称TM)是一种在多核处理器时代重新引起关注的并行编程技术,它为协调并发线程提供了一种可能更优越的方法。TM的...
Spring3引入了基于注解的事务管理,极大地简化了事务配置,使得开发者可以在方法级别声明事务边界,这就是`@Transactional`注解的用处。本文将深入探讨这个注解以及如何在Spring3中有效地使用它。 `@Transactional`...
PDF 高清 Rachid Guerraoui, Michal Kapalka, "Principles of Transactional Memory (Synthesis Lectures on Distributed Computing Theory)" ISBN: 1608450112
本教程将深入探讨如何在Spring中实现自定义事务管理器、编程式事务处理以及声明式事务`@Transactional`的使用。 首先,让我们了解事务管理的基本概念。事务是一组数据库操作,这些操作要么全部执行,要么全部回滚,...
1、aopalliance.jar 这个包是AOP联盟的API包,里面包含了针对面向切面的接口。(通常Spring等其它具备动态织入功能的框架依赖此包) 2、aspectjrt.jar 处理事务和AOP所需的包 3、aspectjweaver.jar 处理事务和AOP所需...
事务信息系统是一门关于事务处理系统理论、算法以及并发控制和恢复实践的学科。在信息技术中,事务通常是指一系列的操作,这些操作要么全部完成,要么完全不做,以保持数据的完整性。在文件中提到的Gerhard Weikum和...
### 事务内存(Transactional Memory) #### 一、事务内存概述 事务内存(Transactional Memory, TM)是一种编程模型和实现机制,旨在简化并发程序中的数据共享和同步问题。随着多核处理器时代的到来,如何有效地...
理解`@Transactional`的工作原理和Spring AOP代理机制,以及与EntityManager的关系,可以帮助我们更好地诊断和解决问题。 总的来说,`@Transactional`提供了声明式的事务管理,极大地简化了事务相关的代码,同时...
Users are often caught between a rock and a hard place: columnar formats such as Apache Parquet offer extremely fast scan rates for analytics, but little to no ability for real-time modification or ...
事务处理信息系统(Transactional Information Systems)是数据管理领域的一个重要分支,它涉及理论、算法以及实践等多个方面。事务处理系统的主要任务是在多种用户同时对数据库进行读写操作时,确保数据的一致性和...
TPI – TRANSACTIONAL PROCESS IMPROVEMENT 事务性流程改善 (DBS 工具)
"No Hibernate Session bound to thread" 错误信息可以通过添加 @Transactional 注解来解决。@Transactional 注解可以确保 Hibernate Session 被正确地绑定到当前线程,从而解决该错误。同时,我们需要根据不同的...
在Spring框架中,`@Transactional`注解是事务管理的核心组件,它允许开发者在方法级别声明事务边界。本文将深入探讨这个注解的工作原理、如何配置以及如何在遇到异常时触发事务回滚。 首先,`@Transactional`是...