springMVC和spring各自扫描自己的注解不要相互混淆
1、问题
执行 entityManager.flush(); 总是报错:javax.persistence.TransactionRequiredException: no transaction is in progress
字面解释是:“没有启动事务”。可是事务是在配置中交给了spring管理了,在方法上加注解 @Transactional就申明了事务的,为何说没有启动事务呢。而且配置中也启动事务注解的扫描了。 <tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true" />。
2、原因
3、解决
3.1 springMVC部分
3.1.1 web.xml 中 springMVC相关部分
<servlet-name>springMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/mvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springMVC</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
3.1.2 mvc.xml 文件中关键部分
<!-- 开启springMVC注解支持 -->
<mvc:annotation-driven />
<mvc:default-servlet-handler/>
<!-- 扫描Controller -->
<context:component-scan base-package="org.cj.controller">
<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
<context:include-filter type="annotation" expression="org.springframework.web.bind.annotation.ControllerAdvice"/>
</context:component-scan>
3.2 spring容器部分
spring容器需要扫描的注解,放在别的xml中,让spring 的Listener去解读
3.2.1 web.xml 中spring容器关键部分
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
<!--说明: 需要让spring 容器解读的配置,放在spring-开头的xml文件中 -->
/WEB-INF/spring-*.xml
</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
3.2.2 spring-core.xml文件关键部分
<!-- 自动加载构建bean -->
<context:component-scan base-package="org.cj" />
<!--开启spring的事务申明注解支持-->
<tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true" />
最新文章
- 用markdown简化书写
- 简述alert和console.log的区别
- 利用flash精确定位asp.net的图像热点区域
- web.xml配置文件
- Spring MVC 数据绑定(四)
- 解决:insert Vodafone sim card,open the mms read report,when receive the read report,cann&#39;t download..
- xUtils3的简单介绍
- Moses 里的参数(未完成)
- 3 分钟学会调用 Apache Spark MLlib KMeans
- ListView与CheckBox组合实现单选
- BZOJ 2253: [2010 Beijing wc]纸箱堆叠
- selenium2入门 定位 窗体切换等等 (二)
- 编写DAO,通过JdbcTemplate操作数据库的实践
- 51nod 1752 哈希统计
- 利用QrCode.Net生成二维码 asp.net mvc c#
- 谷歌面试题:输入是两个整数数组,他们任意两个数的和又可以组成一个数组,求这个和中前k个数怎么做?
- EmberJS 为什么我偏爱 Ember.js 胜过 Angular 和 React.js
- 了解一下,Java 虚拟机
- asp.net excel导出去除科学计数法的表示格式
- PL/SQL类的应用