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集成环境中使用声明式事务管理。声明式事务管理允许开发者通过配置来控制事务,无需在代码中显式处理事务开始、提交和回滚。 **Spring框架** 是一...
当我们谈论"spring+ibatis声明式事务Demo"时,我们关注的是如何在Spring框架中利用iBatis实现声明式事务管理。 声明式事务管理是Spring框架提供的一种方便、高效的方式,使得开发者无需手动控制事务的开始、提交、...
8. **测试**:编写JUnit测试类,验证Spring和iBATIS的整合是否成功,以及声明式事务管理是否正常工作。 在实际开发中,`IbatisTest`可能是一个包含具体测试用例的类,它将验证上述配置和集成是否正确。通过这些步骤...
6. **事务管理**:Spring 提供了声明式事务管理,可以在配置文件中设置事务边界,由 Spring 自动处理事务的开启、提交、回滚等操作。在整合 iBATIS 时,通常会使用 Spring 的 PlatformTransactionManager 接口。 7....
5. **事务管理**:Spring 提供了声明式事务管理,可以通过 `<tx:annotation-driven>` 标签启用。这样,只需在服务类或方法上添加 @Transactional 注解,就可以控制事务的边界。 6. **Spring DAO 和 Service 层**:...
6. **事务管理**:Spring提供了声明式事务管理,我们可以在方法上添加@Transactional注解,让Spring自动处理事务的开启、提交和回滚。 7. **使用Service和DAO**:在Spring的业务逻辑层Service中,通过@Autowired...
7. **事务管理**:Spring提供了声明式事务管理,只需在Service层的方法上添加@Transactional注解,就可以开启事务。 通过这样的集成,Spring和iBatis可以协同工作,提供一套完整的数据访问解决方案。这种集成方式...
4. **事务管理**:由于MySQL集群支持分布式事务,Spring的声明式事务管理能够无缝地工作。只需在需要事务的Service层方法上添加@Transactional注解,Spring会自动管理事务的开始、提交或回滚。 5. **高可用性和负载...
声明式事务管理通常更简单,只需要在需要事务管理的方法上添加@Transactional注解。 6. **集成测试**:编写测试用例来确保Spring和iBatis的整合工作正常。使用如JUnit和Mockito这样的工具进行单元测试,确保每个...
- 使用`PlatformTransactionManager`接口配置Spring的声明式事务管理,设置事务传播属性、隔离级别和超时时间。 4. **iBatis配置** - 配置iBatis的SqlSessionFactory,指定数据源和映射文件。 - 编写SQL映射文件...
5. **事务管理**:Spring 提供了强大的事务管理功能,可以是编程式事务管理或声明式事务管理。在与 iBATIS 结合时,通常使用声明式事务,通过 @Transactional 注解在方法级别定义事务边界。 6. **AOP 应用**:...
- **事务管理**:Spring的声明式事务管理可以控制事务的边界,确保数据的一致性。 - **SQL映射**:在iBatis的XML映射文件中编写SQL语句,通过动态SQL支持复杂查询。 - **拦截器**:Struts2的拦截器可以增强Action的...
Spring框架可以与iBatis无缝集成,实现数据库操作的声明式事务管理。 在"webwork+spring+ibatis简单实例"中,可能包含以下步骤: 1. **项目结构**:首先,项目会有一个标准的Maven或Gradle构建文件,用于管理和...
同时,Spring的事务管理能力确保了对数据库操作的原子性和一致性,通过声明式事务管理,可以在XML配置文件中轻松设置事务边界,如开启、提交、回滚等操作。 Ibatis是轻量级的持久层框架,它简化了JDBC的繁琐工作,...
2. 配置Spring:创建spring-context.xml文件,声明Bean,进行依赖注入,配置事务管理器。 3. 配置iBatis:创建sqlMapConfig.xml文件,定义数据源、事务工厂和SQL映射文件。 4. 将Struts1与Spring集成:在Struts1的...
在 Spring 中,iBatis 可以通过 Spring 的 DataSource 和 TransactionManager 集成,实现声明式事务管理。 **集成过程**: 1. **配置 Struts**: 首先,需要在 Struts 的配置文件(struts.xml)中定义 Actions,每个...
声明式事务管理是Spring的一个强大特性,它允许我们在不修改业务逻辑代码的情况下,通过配置控制事务的边界。这主要通过AOP(Aspect-Oriented Programming,面向切面编程)实现。配置示例中的`<tx:advice>`和`...