`
ymgjava
  • 浏览: 22975 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Spring 2.5整合iBATIS 2.3并使用Spring的声明式事务管理

阅读更多
Spring 2.5整合iBATIS 2.3的核心配置文件beans.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:context="http://www.springframework.org/schema/context"
	   xmlns:tx="http://www.springframework.org/schema/tx"
	   xsi:schemaLocation="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/context 
	   http://www.springframework.org/schema/context/spring-context-2.5.xsd
	   http://www.springframework.org/schema/tx 
	   http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">

	<!-- 配置分散配置的属性文件 -->
    <context:property-placeholder location="classpath:jdbc.properties"/>

	<!-- 配置c3p0数据源 -->
	<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
		<property name="driverClass" value="${jdbc.driverclass}"/>
		<property name="jdbcUrl" value="${jdbc.url}"/>
		<property name="user" value="${jdbc.username}"/>
		<property name="password" value="${jdbc.password}"/>
		
		<property name="maxPoolSize" value="${c3p0.pool.size.max}"/>
		<property name="minPoolSize" value="${c3p0.pool.size.min}"/>
		<property name="initialPoolSize" value="${c3p0.pool.size.init}"/>
		<property name="acquireIncrement" value="${c3p0.pool.size.increment}"/>
	</bean>
	
	<!-- SqlMapClientFactoryBean  spring整合ibatis的入口 -->
	<bean id="sqlMapClient"class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
		<property name="dataSource" ref="dataSource"/>
		<!-- 引入SqlMapConfig.xml -->
		<property name="configLocation">
			<value>classpath:SqlMapConfig.xml</value>
		</property>
	</bean>
	
	<!--创建SqlMapClientTemplate类  -->
	<bean id="sqlMapClientTemplate" class="org.springframework.orm.ibatis.SqlMapClientTemplate">
		<property name="sqlMapClient" ref="sqlMapClient"/>
	</bean>
	
	<!-- 事务管理器 -->
	<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
		<property name="dataSource" ref="dataSource"/>
	</bean>
	
	<!-- 事务通知 -->
	<tx:advice id="txAdvice" transaction-manager="transactionManager">
		<tx:attributes>
			<tx:method name="insert*" propagation="REQUIRED" isolation="DEFAULT"/>
			<tx:method name="update*" propagation="REQUIRED" isolation="DEFAULT"/>
			<tx:method name="delete*" propagation="REQUIRED" isolation="DEFAULT"/>
			<tx:method name="select*" propagation="REQUIRED" isolation="DEFAULT" read-only="true"/>
			<tx:method name="*" propagation="REQUIRED" isolation="DEFAULT"/>
		</tx:attributes>
	</tx:advice>
	
	<!-- aop配置 -->
	<aop:config>
		<!-- 第一个*匹配方法的返回类型    第二*..匹配任何包以及其子包    
		第三个*匹配以相应表达式结尾的类或接口    第四个.*(..)匹配相应类中带任何参数的方法 -->
		<aop:pointcut id="txPointcut" expression="execution(* *..*Service.*(..))"/>
        <aop:advisor advice-ref="txAdvice" pointcut-ref="txPointcut"/>
	</aop:config>
	
	<!--将SqlMapClientTemplate模版类注入到相应的DAO对象中-->	
	<bean id="accountDao" class="com.test.dao.impl.AccountDaoImpl">
		<property name="sqlMapClientTemplate" ref="sqlMapClientTemplate"/>
	</bean>
	
	<!-- 将相应的DAO对象注入到相应的Service中 -->
	<bean id="accountService" class="com.test.service.impl.AccountServiceImpl">
		<property name="accountDao" ref="accountDao"/>
	</bean>
	
</beans>

分享到:
评论

相关推荐

    SSI(struts2+spring2.5+ibatis2.3)项目实例

    3. **事务管理**:Spring提供了声明式和编程式的事务管理,确保数据的一致性。 **三、Ibatis框架** Ibatis2.3是一个轻量级的持久层框架,它将SQL语句与Java代码分离,提高了数据库操作的灵活性。在SSI项目中,...

    Spring2.5+ibatis2.3+Extjs2.0+Struts2实现用户管理

    依赖注入使得系统模块化,降低了组件间的耦合度,而面向切面编程则提供了声明式事务管理、日志记录等功能,提高了代码的可维护性。Spring还提供了AOP支持,使得业务逻辑与系统服务(如日志、安全)分离,便于管理和...

    Struts2.0+Springframework2.5+ibatis2.3完美整合实例

    **Spring Framework** 是一个全面的企业级应用开发框架,不仅包含了IOC(Inversion of Control,控制反转)和AOP(Aspect Oriented Programming,面向切面编程)等核心功能,还提供了事务管理、数据访问、声明式安全...

    spring2.5+ibatis3+web service cxf 例子MyEclipse工程

    Spring 3.0.0.RELEASE版本在2.5基础上做了许多改进,包括对JSR-330标准的支持、增强的声明式事务管理、更强大的MVC框架等。 在本项目中,我们看到了Spring的多个核心模块,如`context`、`beans`、`jdbc`、`core`、`...

    Ext2.0+struts2+spring2.5+ibatis2

    Ibatis与Spring的结合使用,可以通过Spring的事务管理来控制数据访问过程,实现声明式事务处理。 在"Ext2.0+Struts2+Spring2.5+Ibatis2"的项目中,通常会采用以下架构: 1. 用户通过浏览器发送请求,Ext2.0的...

    spring3.2与Ibatis整合

    5. **事务管理**:Spring提供了一种声明式事务管理,可以在XML配置文件中定义事务边界,或者在Java配置中使用`@Transactional`注解。这使得事务管理变得简单,无需在业务逻辑代码中显式管理。 6. **Mapper接口和XML...

    spring+ibatis声明式事务Demo_

    本示例“spring+ibatis声明式事务Demo”将探讨如何在Spring与iBatis集成环境中使用声明式事务管理。声明式事务管理允许开发者通过配置来控制事务,无需在代码中显式处理事务开始、提交和回滚。 **Spring框架** 是一...

    spring+ibatis声明式事务Demo

    当我们谈论"spring+ibatis声明式事务Demo"时,我们关注的是如何在Spring框架中利用iBatis实现声明式事务管理。 声明式事务管理是Spring框架提供的一种方便、高效的方式,使得开发者无需手动控制事务的开始、提交、...

    spring 2.5开发手册

    5. **事务管理**:Spring 2.5提供了编程式和声明式事务管理。声明式事务管理通过@Transactional注解实现,简化了事务控制。 6. **MVC框架**:Spring MVC是Spring提供的Web应用开发框架,它支持Model-View-...

    Spring整合iBatis

    - **事务管理**: Spring提供声明式事务管理,可以方便地控制事务的边界。 - **灵活性**: 结合Spring的AOP,可以实现动态SQL执行、缓存等功能。 - **测试友好**: 易于进行单元测试,只需配置数据源即可。 4. **...

    ibatis与spring的整合

    通过以上步骤,iBATIS与Spring的整合完成,实现了DAO层的数据库操作以及声明式事务管理。这种方式极大地提高了代码的可维护性和事务处理的灵活性。在实际开发中,根据项目需求,还可以进一步配置如异常处理、缓存...

    spring2.5所用到的jar包

    7. **事务管理**: Spring 2.5提供了声明式和编程式事务管理,使开发者能够轻松地控制事务边界。`@Transactional`注解可以在方法级别声明事务需求,简化事务管理。 8. **容器增强**: Spring 2.5的Bean容器引入了更多...

    SPRING2.5_JAR

    - **简化事务管理**:Spring提供了声明式事务管理,大大减少了手动管理事务的代码。 - **模块化**:Spring框架由多个模块组成,可以根据项目需求选择使用,避免了不必要的开销。 4. **如何使用Spring 2.5_JAR** ...

    spring 2.5 中文pdf

    2. **AOP(面向切面编程)**:Spring 2.5对AOP的支持增强,引入了更直观的注解,如@Transactional、@PreAuthorize等,用于声明式事务管理和安全控制。同时,AOP代理也得到了优化,可以选择JDK动态代理或CGLIB代理。 ...

    springframework2.5源代码

    2. **AOP(Aspect Oriented Programming,面向切面编程)**:Spring的AOP模块提供了声明式事务管理、日志记录、性能监控等跨切面关注点的实现。在2.5版本中,AOP支持了基于注解的切面定义,简化了切面的创建和使用。...

    spring与ibatis整合集成实例

    6. **事务管理**:Spring 提供了声明式事务管理,可以在配置文件中设置事务边界,由 Spring 自动处理事务的开启、提交、回滚等操作。在整合 iBATIS 时,通常会使用 Spring 的 PlatformTransactionManager 接口。 7....

    ibatis-2.3.2.715.jar

    通过编程式或声明式事务管理,确保数据库操作的一致性。 8. 支持多种数据库:Ibatis并不依赖特定的数据库,它提供了适配器模式,支持Oracle、MySQL、PostgreSQL等多种数据库。 总结起来,`ibatis-2.3.2.715.jar`...

    最稳定Ibatis包 ibatis-2.3.0.677.rar

    在事务管理方面,Ibatis提供了编程式和声明式两种方式,前者需要手动控制事务的开始、提交和回滚,而后者则可以借助Spring等容器进行管理。这种灵活性使得Ibatis能很好地适应不同的应用场景。 总的来说,Ibatis-2.3...

    spring2.5源码分析

    通过声明式事务管理,开发者可以在不直接操作事务的情况下实现事务的正确传播。 5. **MVC框架** Spring MVC是Spring框架中用于构建Web应用的部分。在2.5版本中,引入了更多的注解驱动的特性,如`@Controller`、`@...

Global site tag (gtag.js) - Google Analytics