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>
分享到:
相关推荐
3. **事务管理**:Spring提供了声明式和编程式的事务管理,确保数据的一致性。 **三、Ibatis框架** Ibatis2.3是一个轻量级的持久层框架,它将SQL语句与Java代码分离,提高了数据库操作的灵活性。在SSI项目中,...
依赖注入使得系统模块化,降低了组件间的耦合度,而面向切面编程则提供了声明式事务管理、日志记录等功能,提高了代码的可维护性。Spring还提供了AOP支持,使得业务逻辑与系统服务(如日志、安全)分离,便于管理和...
**Spring Framework** 是一个全面的企业级应用开发框架,不仅包含了IOC(Inversion of Control,控制反转)和AOP(Aspect Oriented Programming,面向切面编程)等核心功能,还提供了事务管理、数据访问、声明式安全...
Spring 3.0.0.RELEASE版本在2.5基础上做了许多改进,包括对JSR-330标准的支持、增强的声明式事务管理、更强大的MVC框架等。 在本项目中,我们看到了Spring的多个核心模块,如`context`、`beans`、`jdbc`、`core`、`...
Ibatis与Spring的结合使用,可以通过Spring的事务管理来控制数据访问过程,实现声明式事务处理。 在"Ext2.0+Struts2+Spring2.5+Ibatis2"的项目中,通常会采用以下架构: 1. 用户通过浏览器发送请求,Ext2.0的...
5. **事务管理**:Spring提供了一种声明式事务管理,可以在XML配置文件中定义事务边界,或者在Java配置中使用`@Transactional`注解。这使得事务管理变得简单,无需在业务逻辑代码中显式管理。 6. **Mapper接口和XML...
本示例“spring+ibatis声明式事务Demo”将探讨如何在Spring与iBatis集成环境中使用声明式事务管理。声明式事务管理允许开发者通过配置来控制事务,无需在代码中显式处理事务开始、提交和回滚。 **Spring框架** 是一...
当我们谈论"spring+ibatis声明式事务Demo"时,我们关注的是如何在Spring框架中利用iBatis实现声明式事务管理。 声明式事务管理是Spring框架提供的一种方便、高效的方式,使得开发者无需手动控制事务的开始、提交、...
5. **事务管理**:Spring 2.5提供了编程式和声明式事务管理。声明式事务管理通过@Transactional注解实现,简化了事务控制。 6. **MVC框架**:Spring MVC是Spring提供的Web应用开发框架,它支持Model-View-...
- **事务管理**: Spring提供声明式事务管理,可以方便地控制事务的边界。 - **灵活性**: 结合Spring的AOP,可以实现动态SQL执行、缓存等功能。 - **测试友好**: 易于进行单元测试,只需配置数据源即可。 4. **...
通过以上步骤,iBATIS与Spring的整合完成,实现了DAO层的数据库操作以及声明式事务管理。这种方式极大地提高了代码的可维护性和事务处理的灵活性。在实际开发中,根据项目需求,还可以进一步配置如异常处理、缓存...
7. **事务管理**: Spring 2.5提供了声明式和编程式事务管理,使开发者能够轻松地控制事务边界。`@Transactional`注解可以在方法级别声明事务需求,简化事务管理。 8. **容器增强**: Spring 2.5的Bean容器引入了更多...
- **简化事务管理**:Spring提供了声明式事务管理,大大减少了手动管理事务的代码。 - **模块化**:Spring框架由多个模块组成,可以根据项目需求选择使用,避免了不必要的开销。 4. **如何使用Spring 2.5_JAR** ...
2. **AOP(面向切面编程)**:Spring 2.5对AOP的支持增强,引入了更直观的注解,如@Transactional、@PreAuthorize等,用于声明式事务管理和安全控制。同时,AOP代理也得到了优化,可以选择JDK动态代理或CGLIB代理。 ...
2. **AOP(Aspect Oriented Programming,面向切面编程)**:Spring的AOP模块提供了声明式事务管理、日志记录、性能监控等跨切面关注点的实现。在2.5版本中,AOP支持了基于注解的切面定义,简化了切面的创建和使用。...
6. **事务管理**:Spring 提供了声明式事务管理,可以在配置文件中设置事务边界,由 Spring 自动处理事务的开启、提交、回滚等操作。在整合 iBATIS 时,通常会使用 Spring 的 PlatformTransactionManager 接口。 7....
通过编程式或声明式事务管理,确保数据库操作的一致性。 8. 支持多种数据库:Ibatis并不依赖特定的数据库,它提供了适配器模式,支持Oracle、MySQL、PostgreSQL等多种数据库。 总结起来,`ibatis-2.3.2.715.jar`...
在事务管理方面,Ibatis提供了编程式和声明式两种方式,前者需要手动控制事务的开始、提交和回滚,而后者则可以借助Spring等容器进行管理。这种灵活性使得Ibatis能很好地适应不同的应用场景。 总的来说,Ibatis-2.3...
通过声明式事务管理,开发者可以在不直接操作事务的情况下实现事务的正确传播。 5. **MVC框架** Spring MVC是Spring框架中用于构建Web应用的部分。在2.5版本中,引入了更多的注解驱动的特性,如`@Controller`、`@...