`
1154934572
  • 浏览: 65839 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

Spring、Ibatis的事物框架配置

 
阅读更多

1、在做事物控制前,先检查所用的包是否已经加载进来
   aspectjrt-1.5.4.jar    aspectjweaver-1.6.2.jar  cglib-nodep-2.1_3-osgi.jar
2、在Spring配置数据源的配置文件中加入如下配置

    <!-- 数据库连接配置 -->
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
        <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"></property>
        <property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"></property>       
        <property name="username" value="QHUSER"></property>
        <property name="password" value="oracle"></property>
        <property name="initialSize" value="5" />
        <property name="maxActive" value="20" />
        <property name="maxIdle" value="30" />
        <property name="maxWait" value="1000" />
        <property name="poolPreparedStatements" value="false" />
        <!--property name="maxOpenPreparedStatements" value="3" /-->
        <property name="testOnBorrow" value="true"/>
        <property name="validationQuery" value="select * from dual"/>
        <property name="defaultAutoCommit" value="true" />
    </bean>

    <!--配置事务管理器-->
    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource"></property>
    </bean>
   
    <!--配置哪些方法,什么情况下需要回滚-->
    <tx:advice id="serviceAdvice" transaction-manager="transactionManager"> 
        <tx:attributes>  
            <!--当代理的service层中的方法抛出异常的时候才回滚,必须加rollback-for参数-->
            <tx:method name="add*" propagation="REQUIRED" rollback-for="Throwable"/>
            <tx:method name="del*" propagation="REQUIRED" rollback-for="Throwable"/> 
            <tx:method name="update*" propagation="REQUIRED" rollback-for="Throwable"/> 
            <tx:method name="create*" propagation="REQUIRED" rollback-for="Throwable"/> 
            <!--除了上面标识的方法,其他方法全是只读方法-->
            <tx:method name="*" read-only="true"/> 
        </tx:attributes> 
    </tx:advice>  
   
    <!-- 配置系统中哪些方法中启用事物控制 -->
   
    <aop:config> 
        <aop:pointcut id="servicePointcut" expression="execution(* com.vip.core.service..*.*(..))"/> 
        <aop:advisor pointcut-ref="servicePointcut" advice-ref="serviceAdvice"/>
    </aop:config>

    expression="execution(* *..*Service.*(..))"
    第一个* 表示任意返回值类型
    第二个* 表示以任意名字开头的package. 如 com.xx.
    第三个* 表示以任意名字开头的class的类名 如TestService
    第四个* 表示 通配 *service下的任意class
    最后二个.. 表示通配 方法可以有0个或多个参数

分享到:
评论

相关推荐

    SSI框架搭建实例教程(struts spring ibatis整合 附切面事物处理)

    【SSI框架搭建实例教程(struts spring ibatis整合 附切面事物处理)】 在软件开发中,集成多种框架可以提高应用程序的灵活性和可维护性。SSI框架是指Struts、Spring和iBatis的集成,这三种框架分别负责MVC模式中的...

    Struts1.2+Spring2.0+Ibatis2.0整合小项目

    Struts1.2、Spring2.0和Ibatis2.0是Java开发中经典的三大开源框架,它们在企业级应用开发中广泛使用。这个小项目是将这三个框架整合在一起,以实现一个简单但完整的功能。下面我们将深入探讨这些知识点。 **Struts...

    spring编程式事物

    压缩包文件名"spring-ibatis-transaction"表明内容可能与Spring和MyBatis框架的集成有关,特别是它们之间的事务管理。MyBatis是一个轻量级的持久层框架,而Spring可以帮助我们管理MyBatis的事务。在Spring中,可以...

    spring-控制事物

    在压缩包子文件的文件名称列表中,"Test_spring_ibatis"可能是一个测试项目,结合了Spring和MyBatis这两个框架。MyBatis是一个轻量级的持久层框架,它允许开发者通过XML或注解定义SQL语句,然后在Spring中通过...

    ibatis开发指南(中文)及API(中文)

    1. **简介**:解释了Ibatis的基本理念,即SQL映射框架,以及它如何与Spring等其他框架集成。 2. **安装与配置**:介绍了如何将Ibatis纳入到Java项目中,包括Maven依赖的添加、配置文件的设置等。 3. **...

    Spring杂谈

    Spring框架是Java开发领域中最重要的技术之一,它是一个开源的轻量级框架,提供了全面的编程和配置模型。Spring框架的核心特性包括依赖注入(DI)、面向切面编程(AOP)、事务管理、数据访问抽象等。本杂谈将围绕...

    跨多个数据库操作,同时连接两个一上的数据库,用事物关联起来

    Spring+iBatis+Atomikos实现JTA事务的例子,展示了如何结合使用Spring、iBatis和开源的Atomikos事务管理器来支持全局事务。Spring与Hibernate整合时,也可以配置多数据库事务,确保在操作多个数据库时的事务一致性。...

    J2EE开发架构小结.doc

    轻量级J2EE实现通过使用ORM框架(如Hibernate、iBatis)和AOP框架(如Spring)来增强功能性和灵活性。ORM框架提供数据持久化能力,简化了数据访问逻辑,提高了代码的可读性和可维护性。AOP框架允许在不侵入业务代码...

    Struts2入门教程。包括jquery集成等。入门必看

    - **起源与发展**:Struts2并非新生事物,而是建立在Struts1和WebWork基础上的一个Web应用框架。它融合了两者的优势,提供了更为强大的功能支持。 - **设计理念**:采用MVC(Model-View-Controller)架构模式,将...

    很符合应届毕业生的简历模板

    - **精通Java框架**:包括MVC思想、Struts、Hibernate和Spring框架,以及基本的设计模式。 - **数据库管理能力**:掌握SQL语言,熟悉Oracle和MsSql等关系型数据库的使用。 - **开源项目知识**:了解webwork、ibatis...

    struts2系列教程

    - **起源与发展**:Struts2并非新生事物,而是建立在Struts1和WebWork基础上的一个Web应用框架。它融合了两者的优势,提供了更为强大的功能支持。 - **设计理念**:以WebWork的设计思想为核心,继承Struts1的优点,...

    最新Java面试题视频网盘,Java面试题84集、java面试专属及面试必问课程

    架构师不得不知道的Spring事物不能回滚的深层次原因.mp4 │ │ │ ├─13.RPC底层通讯原理之Netty线程模型源码分析 │ │ 13.RPC底层通讯原理之Netty线程模型源码分析.wmv │ │ │ ├─14.分库分表之后分布式下...

    值得收藏的2017年Java开发岗位面试题

    8. spring如何实现事物管理的。 Spring提供了多种事务管理机制,例如使用@Transactional注解或使用PlatformTransactionManager接口。 9. springIOC。 Spring IOC是Spring框架的核心组件,提供了依赖注入和控制反转...

Global site tag (gtag.js) - Google Analytics