`

spring集成iBATIS声明式事务管理配置及测试

阅读更多
applicationContext.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"
       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/tx
           http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
     
     <!-- 配置iBATIS声明式事务管理 -->          
     <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
     	<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
     	<property name="url" value="jdbc:oracle:thin:@192.168.0.100:1521:orcl"/>
     	<property name="username" value="scott"/>
     	<property name="password" value="tiger"/>
     </bean>
     
     <bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
     	<property name="dataSource" ref="dataSource"/>
     </bean>
     
     <tx:advice id="txAdvice" transaction-manager="txManager">
     	<tx:attributes>
     		<tx:method name="add*" propagation="REQUIRED"/>
     		<tx:method name="del*" propagation="REQUIRED"/>
     		<tx:method name="update*" propagation="REQUIRED"/>
     		<tx:method name="get*" read-only="true"/>
     	</tx:attributes>
     </tx:advice>
     
     <aop:config>
     	<aop:pointcut id="allManagerMethod" expression="execution(public * com.sample.service.*.*(..))"/>
     	<aop:advisor pointcut-ref="allManagerMethod" advice-ref="txAdvice"/>
     </aop:config>
      
     <bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
     	<property name="configLocation"><value>classpath:sqlMapConfig.xml</value></property>
     	<property name="dataSource" ref="dataSource" />
     </bean>
     
     <!-- 配置用户定义Bean -->
     <bean id="userService" class="com.sample.service.UserService">
     	<property name="userDao" ref="userDao"/>
     	<property name="logDao" ref="logDao"/>
     </bean>
     
     <bean id="userDao" class="com.sample.dao.impl.UserDaoImpl">
     	<property name="sqlMapClient" ref="sqlMapClient"/>
     </bean>
     
     <bean id="logDao" class="com.sample.dao.impl.LogDaoImpl">
     	<property name="sqlMapClient" ref="sqlMapClient"/>
     </bean>
     
</beans>
分享到:
评论

相关推荐

    spring+ibatis声明式事务Demo_

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

    spring+ibatis声明式事务Demo

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

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

    8. **测试**:编写JUnit测试类,验证Spring和iBATIS的整合是否成功,以及声明式事务管理是否正常工作。 在实际开发中,`IbatisTest`可能是一个包含具体测试用例的类,它将验证上述配置和集成是否正确。通过这些步骤...

    spring与ibatis整合集成实例

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

    spring 集成ibatis

    5. **事务管理**:Spring 提供了声明式事务管理,可以通过 `&lt;tx:annotation-driven&gt;` 标签启用。这样,只需在服务类或方法上添加 @Transactional 注解,就可以控制事务的边界。 6. **Spring DAO 和 Service 层**:...

    spring整合ibatis

    6. **事务管理**:Spring提供了声明式事务管理,我们可以在方法上添加@Transactional注解,让Spring自动处理事务的开启、提交和回滚。 7. **使用Service和DAO**:在Spring的业务逻辑层Service中,通过@Autowired...

    spring-ibatis简单集成

    7. **事务管理**:Spring提供了声明式事务管理,只需在Service层的方法上添加@Transactional注解,就可以开启事务。 通过这样的集成,Spring和iBatis可以协同工作,提供一套完整的数据访问解决方案。这种集成方式...

    Spring + Ibatis 与mysql集群集成

    4. **事务管理**:由于MySQL集群支持分布式事务,Spring的声明式事务管理能够无缝地工作。只需在需要事务的Service层方法上添加@Transactional注解,Spring会自动管理事务的开始、提交或回滚。 5. **高可用性和负载...

    spring-ibatis

    声明式事务管理通常更简单,只需要在需要事务管理的方法上添加@Transactional注解。 6. **集成测试**:编写测试用例来确保Spring和iBatis的整合工作正常。使用如JUnit和Mockito这样的工具进行单元测试,确保每个...

    Spring+iBatis+JOTM实现JTA事务

    - 使用`PlatformTransactionManager`接口配置Spring的声明式事务管理,设置事务传播属性、隔离级别和超时时间。 4. **iBatis配置** - 配置iBatis的SqlSessionFactory,指定数据源和映射文件。 - 编写SQL映射文件...

    spring+ibatis实例

    5. **事务管理**:Spring 提供了强大的事务管理功能,可以是编程式事务管理或声明式事务管理。在与 iBATIS 结合时,通常使用声明式事务,通过 @Transactional 注解在方法级别定义事务边界。 6. **AOP 应用**:...

    struts2+spring+ibatis整合项目实例

    - **事务管理**:Spring的声明式事务管理可以控制事务的边界,确保数据的一致性。 - **SQL映射**:在iBatis的XML映射文件中编写SQL语句,通过动态SQL支持复杂查询。 - **拦截器**:Struts2的拦截器可以增强Action的...

    webwork+spring+ibatis简单实例

    Spring框架可以与iBatis无缝集成,实现数据库操作的声明式事务管理。 在"webwork+spring+ibatis简单实例"中,可能包含以下步骤: 1. **项目结构**:首先,项目会有一个标准的Maven或Gradle构建文件,用于管理和...

    struts2+spring+ibatis学生管理demo

    同时,Spring的事务管理能力确保了对数据库操作的原子性和一致性,通过声明式事务管理,可以在XML配置文件中轻松设置事务边界,如开启、提交、回滚等操作。 Ibatis是轻量级的持久层框架,它简化了JDBC的繁琐工作,...

    Struts1+Spring+iBatis-jar包

    2. 配置Spring:创建spring-context.xml文件,声明Bean,进行依赖注入,配置事务管理器。 3. 配置iBatis:创建sqlMapConfig.xml文件,定义数据源、事务工厂和SQL映射文件。 4. 将Struts1与Spring集成:在Struts1的...

    Struts_Spring_Ibatis

    在 Spring 中,iBatis 可以通过 Spring 的 DataSource 和 TransactionManager 集成,实现声明式事务管理。 **集成过程**: 1. **配置 Struts**: 首先,需要在 Struts 的配置文件(struts.xml)中定义 Actions,每个...

    ibatis与spring的整合

    声明式事务管理是Spring的一个强大特性,它允许我们在不修改业务逻辑代码的情况下,通过配置控制事务的边界。这主要通过AOP(Aspect-Oriented Programming,面向切面编程)实现。配置示例中的`&lt;tx:advice&gt;`和`...

Global site tag (gtag.js) - Google Analytics