`
wangkebin
  • 浏览: 74841 次
  • 性别: Icon_minigender_1
  • 来自: 贵阳
社区版块
存档分类
最新评论

Spring+Struts+ibatis下配置数据读写分离及事务(三)

阅读更多

接Spring+Struts+ibatis下配置数据读写分离及事务(二) 

6.配置spring-transaction.xml(事务管理)

 

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	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/context http://www.springframework.org/schema/context/spring-context-2.5.xsd  
	http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
	http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
	http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
	
	<!--切面BEAN(数据源切换)-->
	<bean id="dataSourceAdvice" class="com.ssi222.wilr.util.datasource.DataSourceAdvice"/>
	
	<!--配置Service监控 -->
	<aop:config>
	   <aop:advisor pointcut="execution(* com.ssi222.wilr.service..*Service.*(..))" advice-ref="dataSourceAdvice"/>
	</aop:config>
	
	<!--配置事务管理器-->
	<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
		<property name="dataSource">
			<ref bean="dataSource" />
		</property>
	</bean>	
	
	<!--配置事务控制特性-->
	<tx:advice id="txAdvice" transaction-manager="transactionManager">
	    <tx:attributes>
	       <!--对数据UPDATE操作支持事务-->
	       <tx:method name="add*" propagation="REQUIRED" rollback-for="Exception"/>
	       <tx:method name="insert*" propagation="REQUIRED" rollback-for="Exception"/>
	       <tx:method name="create*" propagation="REQUIRED" rollback-for="Exception"/>
	       <tx:method name="save*" propagation="REQUIRED" rollback-for="Exception"/>
	       <tx:method name="del*" propagation="REQUIRED" rollback-for="Exception"/>
	       <tx:method name="edit*" propagation="REQUIRED" rollback-for="Exception"/>
	       <tx:method name="modeify*" propagation="REQUIRED" rollback-for="Exception"/>
	       <tx:method name="update*" propagation="REQUIRED" rollback-for="Exception"/>
	       <!--对其他方法只支持只读事务-->
			<tx:method name="*" propagation="SUPPORTS" read-only="true"/>
	    </tx:attributes>
	</tx:advice>
	
	<!--配置Service事务支持-->
	<aop:config>
	   <aop:advisor pointcut="execution(* com.ssi222.wilr.service..*Service.*(..))" advice-ref="txAdvice"/>
	</aop:config>
</beans>

 

 7.配置bean对应的ibatis配置文件(只写了一个简单的测试)

 

 

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="System">
	<typeAlias alias="Admin" type="com.ssi222.wilr.domain.bg.system.AdminInfo" />
	<select id="loadLoginAdmin" resultClass="Admin" parameterClass="String">
	<![CDATA[
	  	SELECT * FROM tbl_admin WHERE account=#account#
	]]>
	</select>
</sqlMap>

 

 8.配置ibatis配置文件

 

 

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMapConfig      
    PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"      
    "http://ibatis.apache.org/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
   <settings	cacheModelsEnabled		= "true"
    			enhancementEnabled		= "true"
    			lazyLoadingEnabled		= "true" 
    			errorTracingEnabled		= "true" 
    			useStatementNamespaces	= "true"
    			maxRequests				= "512"   
    			maxSessions				= "128"
    			maxTransactions			= "16"/>
    <typeAlias alias="sql.date" 		type="java.sql.Date"/>
	<typeAlias alias="sql.timestamp" 	type="java.sql.Timestamp"/>	
	<typeAlias alias="map" 				type="java.util.Map"/>  
	<typeAlias alias="list" 			type="java.util.List"/>
	<typeAlias alias="hashmap" 			type="java.util.HashMap"/>
	<typeAlias alias="hashset" 			type="java.util.HashSet"/>
   <!--导入后台系统Ibatis配置-->
   <sqlMap resource="config/ibatis/bg/ibatis-system.xml"/>
   <!--导入前台系统Ibatis配置-->
</sqlMapConfig>   

 9.配置spring.xml配置文件

 

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	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/context http://www.springframework.org/schema/context/spring-context-2.5.xsd  
	http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
	http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
	http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
    <context:annotation-config />
	<!-- 自动加载service presentation action-->
	<context:component-scan base-package="com.ssi222.wilr.presentation.*" />
	<context:component-scan base-package="com.ssi222.wilr.service.*" />
    <context:component-scan base-package="com.ssi222.wilr.action.*" />
    
    <!--导入数据源-->
    <import resource="classpath:config/spring-datasource.xml"/>
    <!--导入事务控制-->
    <import resource="classpath:config/spring-transaction.xml"/>
    <!--导入后台系统Service/Action配置-->
    <import resource="classpath:config/spring/spring-bg.xml"/>
	
</beans>
 

 

 

 

 

1
4
分享到:
评论

相关推荐

    Spring+Struts+ibatis下配置数据读写分离及事务(一)

    本文将深入探讨如何在Spring、Struts和iBATIS这三大流行框架的集成环境中实现数据读写分离以及事务控制。我们将不涉及具体的代码实现,而是侧重于理论背景和设计原则。 首先,让我们理解数据读写分离的概念。数据...

    ibatis+spring+struts完整例子数据同步程序

    这个"ibatis+spring+struts完整例子数据同步程序"就是一个典型的Java EE应用程序,它整合了三个关键的开源框架:Struts、Spring和iBatis。这些框架分别负责表现层、业务层和服务层的管理,提供了一个强大的开发工具...

    SSi(Struts2+Spring+iBatis)实现文件上传下载功能

    而iBatis则作为一个持久层框架,简化了SQL操作,实现了数据访问层与业务逻辑的分离。 在这个项目中,"SSi实现文件上传下载功能"主要是利用Struts2的Action类和拦截器来处理HTTP请求,Spring来管理服务层对象,以及...

    struts2 spring2 ibatis整合代码完整项目

    Struts2、Spring2 和 iBatis 是三个在Java Web开发中非常重要的开源框架,它们分别负责MVC模式中的Action层、依赖注入及业务层的数据访问。本项目整合了这三个框架,提供了一个完整的代码实现,方便开发者快速搭建...

    mvc框架整合示例

    在`spring事务处理.txt`中,可能会详细阐述Spring的声明式事务管理,包括基于注解和基于XML的配置,如何处理事务异常,以及如何实现事务的隔离级别和读写策略。 3. **Spring + Hibernate + Struts2整合** 这种...

    SpringMvc+Ibatis包

    这个包包含了一系列与这两个框架相关的库文件,为开发者提供了集成Spring MVC和iBATIS的便捷途径,以实现高效、灵活的业务逻辑处理和数据访问。 Spring MVC是Spring框架的一部分,它是一个基于模型-视图-控制器...

    跟我学spring3(8-13).pdf

    1. **10.1 概述**:Spring可以通过Servlet监听器、DispatcherServlet、MVC配置等方式与其他Web框架如Struts、JSF集成,实现业务逻辑和展示层的分离。 2. **10.2 集成Struts1.x**:Spring可以作为Struts的动作处理器...

    iBATIS实战

    9.6.2 高速缓存可读写数据 169 9.6.3 高速缓存旧的静态数据 170 9.7 小结 172 第10章 iBATIS数据访问对象 173 10.1 隐藏实现细节 173 10.1.1 为何要分离 174 10.1.2 一个简单示例 175 10.2 配置DAO 177 10.2.1 ...

    ssi框架入门详解

    Spring还提供了事务管理、数据源配置等企业级服务,以及对其他框架(如Hibernate、MyBatis)的集成。 **Ibatis**是一个轻量级的ORM(对象关系映射)框架,它的主要作用是简化SQL操作,将数据库查询与Java代码解耦。...

    JAVA技术体系.pdf

    - **具体框架**:Struts1和2提供表现层支持,Spring提供业务层服务,Hibernate和iBATIS处理数据持久化。 4. **Java高级软件工程师**: - **开源技术与框架**:如工作流引擎、规则引擎、搜索引擎、缓存、任务调度...

    面试JAVA程序员常遇到的一些问题.pdf,这是一份不错的文件

    2. Spring事务的传播行为:包括PROPAGATION_REQUIRED(默认,当前事务存在则加入,不存在则新建)、PROPAGATION_SUPPORTS(支持当前事务,如果无事务则以非事务执行)、PROPAGATION_MANDATORY(必须存在当前事务,...

    【白雪红叶】JAVA学习技术栈梳理思维导图.xmind

    读写分离 性能优化架构能力 代码级别 关联代码优化 cache对其 分支预测 copy on write 内联优化 系统优化 cache 延迟计算 数据预读 异步 轮询与通知 内存池 模块化 工程架构能力 开发语言 运维与...

    MyEclipse中涵盖知识点.pdf

    Spring框架中的声明式事务管理,允许开发者在配置文件中声明事务边界,而不是在代码中显式处理。这种方式降低了事务管理对业务逻辑的影响,提高了代码的可维护性。 11. 数据持久化: 数据持久化是将内存中的数据...

    java初学者的比较好的学习路线(转)

    - **Spring框架**:掌握Spring的核心容器、AOP、事务管理等技术。 ##### 实战项目 - **OA系统**:基于Spring + Struts + Hibernate开发办公自动化系统。 - **CRM系统**:实现客户关系管理系统,涉及客户信息管理、...

    java必备知识点大全.pdf

    SSH整合:SSH是Struts2、Spring和Hibernate三个框架整合的统称。 SpringMVC整合:SpringMVC与Spring和Hibernate的整合。 Hibernate中get和load的区别:get是立即加载,load是延迟加载。 Hibernate、Ibatis、Jdbc...

    java资料集

    SSH(Struts、Spring、Hibernate)是Java企业级开发中常见的三大框架。`struts-spring.txt`可能讲述了如何整合这两个框架,以及它们在控制层和业务层的应用。而`ibatis配置.txt`可能涉及的是MyBatis框架的配置和使用...

    2021年最新java面试题--视频讲解(内部培训84个知识点超详细).rar

    Java面试题72:数据库的读写分离 Java面试题73:数据库优化之缓存 Java面试题74:sql语句优化小技巧 Java面试题75:批量插入几百万条数据 Java面试题76:有没有使用过redis Java面试题77:redis的使用场景 Java面试...

    常用jar包说明

    8. **spring-orm.jar**:提供对各种ORM框架的支持,包括Hibernate、iBATIS、JDO、OJB和TopLink。 9. **spring-test.jar**:为测试Spring应用程序提供了便利,包括单元测试和集成测试的工具。 10. **spring-tx.jar**...

Global site tag (gtag.js) - Google Analytics