• 在Spring中采用声明式方法对Hibernate和JDBC进行统一的事务配置(AOP)


    <?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.0.xsd
               http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
               http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">
        
        <!-- 配置sessionFactory -->
        <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
            <property name="configLocation">
                <value>classpath:hibernate.cfg.xml</value>
            </property>    
        </bean>          
        <!-- Hibernate配置事务管理器-->
        <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
            <property name="sessionFactory">
                <ref bean="sessionFactory"/>
            </property>    
            <property name="dataSource" ref="dataSource"/>  
        </bean>

        
        <!-- 配置事务的传播特性 -->
        <tx:advice id="txAdvice" transaction-manager="transactionManager">
            <tx:attributes>
                <tx:method name="add*" propagation="REQUIRED"/>
                <tx:method name="del*" propagation="REQUIRED"/>
                <tx:method name="find*" read-only="true"/>
                <tx:method name="modify*" propagation="REQUIRED"/>
            </tx:attributes>
        </tx:advice>
        
        <!--那些类的哪些方法参与事务 -->
        <aop:config>
            <aop:pointcut id="allManagerMethod" expression="execution(* com.env.persistence.manager.*.*(..))"/>
            <aop:advisor pointcut-ref="allManagerMethod" advice-ref="txAdvice"/>
        </aop:config>

        

        <!-- 以下配置的是对JDBC的支持 -->
        <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
        <property name="driverClassName">
          <value>oracle.jdbc.driver.OracleDriver</value>
        </property>
        <property name="url">
          <value>jdbc:oracle:thin:@localhost:1521:orcl</value>
        </property>
        <property name="username">
          <value>SRMS</value>
        </property>
        <property name="password">    
          <value>SRMS</value>
        </property>
        <property name="defaultAutoCommit">
          <value>false</value>
        </property>
          </bean>


    </beans>

  • 相关阅读:
    [转]MSI安装程序中的文件替换
    运行时使用Dev的ImageListEditor
    openswan-ipsec.conf配置说明
    【辅导】Task19 实现用户登录 主要知识点
    【辅导】Task18 更新与插入删除操作 主要知识点
    【辅导】Task17 查询数据 主要知识点
    【辅导】Task16 使用MySQL数据库 主要知识点
    【辅导】Task15 熟悉错误与异常处理 主要知识点
    【辅导】Task14 使用正则表达式 主要知识点
    【辅导】Task13 使用会话管理 主要知识点(2)
  • 原文地址:https://www.cnblogs.com/lowerCaseK/p/spring_transaction.html
Copyright © 2020-2023  润新知