0 0

SpringMVC3+Mybatis3+JDBCTemplate 请问为何事务不起作用?15

SpringMVC+Mybatis+JDBCTemplate,配置如下,觉得两个地方都有问题:
1.DBCP连接池-因为连接sybase数据库时,老是卡死,必须关闭一个连接数据库的工具,查询有反应了。不知道我配置的哪里有问题。【卡死的地方用的是JDBCTemplate】

2.Mybatis相应的Service方法都按照配置写的,但是事务好像都不起作用。是不是我的配置有问题?求解答。

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:p="http://www.springframework.org/schema/p" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
	xmlns:context="http://www.springframework.org/schema/context"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
      http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
      http://www.springframework.org/schema/context
      http://www.springframework.org/schema/context/spring-context-3.2.xsd
      http://www.springframework.org/schema/tx
	  http://www.springframework.org/schema/tx/spring-tx-3.2.xsd
      http://www.springframework.org/schema/aop
      http://www.springframework.org/schema/aop/spring-aop-3.2.xsd">

	<!-- Spring加载配置文件读取 -->
	<context:property-placeholder location="classpath:jdbc.properties" />

	<!-- Spring数据源配置,开发环境暂使用dbcp -->
	<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
	destroy-method="close" p:driverClassName="${driver}" p:url="${url}"
	p:username="${user}" p:password="${password}" p:maxActive="${maxActive}"
	p:maxIdle="${maxIdle}" />

	<!-- Mybatis事务管理 -->
	<bean id="transactionManager"
		class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
		<property name="dataSource" ref="dataSource" />
	</bean>

	<!-- 开启自动绑定 autowire -->
	<context:annotation-config />

	<!-- 开启事务注解 -->
	<tx:annotation-driven transaction-manager="transactionManager"/>

	<!-- 创建 SqlSessionFactory,同时指定数据源 -->
	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
		<!-- #指定数据源 -->
		<property name="dataSource" ref="dataSource" />

		<!-- #指定Mybatis配置文件位置 -->
		<property name="configLocation" value="classpath:mybatis-config.xml"></property>
	</bean>

	<!-- mybatis spring sqlSessionTemplate -->
	<bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate"
		scope="prototype">
		<constructor-arg index="0" ref="sqlSessionFactory"></constructor-arg>
	</bean>

	<!-- Spring提供的JDBC实现,提供基础的增删改查功能。 -->
	<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"
		p:dataSource-ref="dataSource" />

	<aop:config>
		<aop:pointcut id="serviceMethod" expression="execution(* com.gds.report.service.impl.*.*(..))" />
		<aop:advisor pointcut-ref="serviceMethod" advice-ref="txAdvice" />
	</aop:config>
	
	<tx:advice id="txAdvice" transaction-manager="transactionManager">
		<tx:attributes>
			<tx:method name="get*" read-only="true" />
			<tx:method name="count*" read-only="true" />
			<tx:method name="find*" read-only="true"  />
			<tx:method name="list*" read-only="true"  />
			<tx:method name="insert*" propagation="REQUIRED" rollback-for="Exception"/>
			<tx:method name="save*" propagation="REQUIRED" rollback-for="Exception"/>
			<tx:method name="add*" propagation="REQUIRED" rollback-for="Exception"/>
			<tx:method name="remove*" propagation="REQUIRED"  rollback-for="Exception"/>
			<tx:method name="del*" propagation="REQUIRED"  rollback-for="Exception"/>
			<tx:method name="update*" propagation="REQUIRED"  rollback-for="Exception"/>
		</tx:attributes>
	</tx:advice>

</beans>
2014年3月26日 19:28

1个答案 按时间排序 按投票排序

0 0

确实是这个原因,解决的方法就是缩小mvc配置文件中的annotation扫描包路径,只扫描@controller就好了。
128[b][/b][u][/u]

2014年3月26日 20:50

相关推荐

    权限管理系统SpringMvc+Spring+Mybatis整合升级版

    【权限管理系统SpringMvc+Spring+Mybatis整合升级版】是一个基于三大主流Java技术栈——SpringMVC、Spring和MyBatis构建的企业级权限管理系统的升级版本。这个系统旨在提供高效、安全、可扩展的用户权限控制,适用于...

    springmvc+mybatis+postgresql+maven整合

    在本项目中,我们主要探讨的是如何将SpringMVC、MyBatis、PostgreSQL数据库以及Maven构建工具进行有效的整合,以实现一个高效且模块化的Web应用开发环境。以下是关于这些技术及其整合的关键知识点的详细说明: **1....

    IDEA+MAVEN+springMVC+mybatis+mySQL+freemaker

    3. **SpringMVC配置**:SpringMVC通过配置文件(如spring-mvc.xml)定义控制器、视图解析器、数据源和事务管理等。它可以将HTTP请求映射到相应的处理方法,同时处理模型和视图的关系。 4. **MyBatis配置**:MyBatis...

    Spring+SpringMVC+MyBatis+SpringBoot视频01

    【Spring+SpringMVC+MyBatis+SpringBoot视频01】这个课程主要涵盖了四个关键的Java开发框架:Spring、SpringMVC、MyBatis以及SpringBoot。这是一套全面的教程,旨在帮助开发者深入理解和熟练掌握这些技术,构建高效...

    maven+springmvc+mybatis+mysql

    在IT行业中,构建高效、可扩展的Web应用是至关重要的,而"Maven+SpringMVC+Spring+MyBatis+MySQL"就是一个常见的技术栈,用于快速开发基于Java的Web应用程序。下面将详细介绍这个技术组合中的各个组件及其作用。 1....

    SpringMvc+Spring+MyBatis+Maven项目

    以上是关于"SpringMvc+Spring+MyBatis+Maven项目"的基本知识点介绍,这个小例子是一个典型的Java Web开发入门项目,适合初学者理解和学习企业级应用的开发流程。通过实践这个项目,你可以深入理解这些技术的协同工作...

    SSM(SpringMVC+Spring+Mybatis)+Maven多模块项目

    SSM(SpringMVC+Spring+Mybatis)是Java开发中的一个经典组合,常用于构建企业级Web应用。这个框架集合了Spring MVC作为控制层、Spring作为服务层和依赖注入容器,以及Mybatis作为持久层的数据访问框架。下面将详细...

    SSM框架教程Spring+SpringMVC+MyBatis全覆盖_Java热门框架视频教程

    以基础入门为主,使用PPT进行讲解,每个技术都配有相应的Demo进行知识落地理解 课程亮点: 适合对SSM没有使用过的同学,讲解通俗易懂,覆盖了当前SSM使用的基本操作 课程内容: 1、Spring简介及快速入门 2、Spring...

    SpringMvc+Spring+Mybatis+Maven整合示例

    在整合中,Spring可以管理Mybatis的SqlSessionFactory,通过Spring的JdbcTemplate或Mybatis的SqlSessionTemplate进行数据访问。 4. **Maven**:Maven是项目管理和构建工具,它管理项目的依赖关系,执行构建任务,如...

    基于Spring+SpringMVC+Mybatis分布式敏捷开发系统架构,提供整套公共微服务服务模块

    在现代企业级应用开发中,基于Spring+SpringMVC+Mybatis的分布式敏捷开发系统架构是一种常见的选择。这种架构能够实现高效、灵活且可扩展的软件解决方案,特别适合大型复杂项目。下面将详细阐述这套系统架构的核心...

    基于SpringMvc+Spring+MyBatis的Demo(包含sql文件)

    这是一个关于使用SpringMvc、Spring和MyBatis框架构建Web应用的示例项目,非常适合初学者进行学习和实践。下面将详细解析这个项目的关键知识点。 **SpringMvc** SpringMvc是Spring框架的一部分,它是一个轻量级的...

    springmvc+mybatis+maven登陆、增删改查、分页实例-初学者必选(含数据库) zip文件

    这是一个基于SpringMVC、MyBatis和Maven的Web应用程序示例,专为初学者设计,旨在帮助他们理解和掌握这三大框架的集成与应用。这个项目涵盖了登录功能、基本的CRUD操作(创建、读取、更新、删除)以及分页处理。下面...

    SSM源码实例(springmvc+spring+mybatis)

    3. **Spring JDBC和MyBatis集成**:Spring提供JdbcTemplate和NamedParameterJdbcTemplate简化数据库操作,与MyBatis结合使用时,可以方便地管理数据访问层。 **MyBatis** MyBatis是一个轻量级的持久层框架,它允许...

    开源框架面试题系列:Spring+SpringMVC+MyBatis-08.rar

    在IT行业中,Spring、SpringMVC和MyBatis是三个非常重要的开源框架,它们在企业级Java应用开发中占据了核心地位。本系列面试题聚焦于这三个框架,旨在帮助求职者和开发者深入理解并掌握其核心概念和技术。以下是针对...

    基于SpingBoot + mybatis的校园招聘网站源码+数据库,校园招聘管理系统源码

    CampusRecruitment基于SpringMVC,Spring,JDBCTemplate实现(不推荐使用, 需要对项目名做一些修改) CampusRecruit基于SpringMVC,Spring,Mybatis实现 SpringBootVersion 基于SpingBoot + mybatis 的实现(推荐) 软件架构...

    maven+Spring+mybatis分模块开发

    3. **MyBatis模块**(MyBatis Module):包含MyBatis的相关配置,比如SqlSessionFactory和Mapper接口。 4. **数据访问模块**(Data Access Module):包含MyBatis的Mapper XML文件和对应的Mapper接口。 5. **Web模块...

    一个基于SpringMVC的论坛小系统(功能未全部完成)

    主要采用Spring+SpringMVC+JdbcTemplate进行搭建,由于平时有其它学习任务,时间仓促,超级管理员的后台管理部分没有完成。很多地方命名略显凌乱,加之经验不足,只把它当作练习项目之用,以后有机会慢慢扩充功能...

    springMVC+DWZ

    数据库连接在SpringMVC中通常通过Spring的JdbcTemplate或者MyBatis等持久层框架来实现。JdbcTemplate提供了一种简单的方式来执行SQL语句,而MyBatis允许你将SQL语句与Java代码直接映射,提高了开发效率。配置数据库...

    Spring+SpringMVC jar+xml.zip

    在SpringMVC中,通常会结合MyBatis或JdbcTemplate这样的持久层框架来处理数据库操作,以实现更高效、更灵活的数据库访问。 在"Spring+SpringMVC+DBUtils系统框架所需要的jar包和配置文件"中,可能包含以下组件: 1....

    springMVC+jpetstore+mysql工程源码

    通过深入研究这些源代码,学习者可以了解到如何在SpringMVC中定义Controller,如何配置和使用Spring的数据访问对象(DAO)以与MySQL交互,以及如何使用MyBatis或JdbcTemplate这样的持久层工具。 总结起来,...

Global site tag (gtag.js) - Google Analytics