zoukankan      html  css  js  c++  java
  • 在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>


  • 相关阅读:
    js scrollTop到达指定位置!
    ajax图片加载,complete
    OpenShift 集群搭建指南
    net core ef code first 使用步骤
    Web Api Json 序列化 属性被加上 k__BackingField 解决办法
    [ASP.NET MVC 5 高级编程] 第4章 模型
    [ASP.NET MVC 5 高级编程] 第3章 视图
    [Java学习笔记] Java核心技术 卷1 第六章 接口与内部类
    [Java学习笔记] Java核心技术 卷1 第五章 继承
    [Java学习笔记] Java核心技术 卷1 第四章 对象与类
  • 原文地址:https://www.cnblogs.com/hainange/p/6153647.html
Copyright © 2011-2022 走看看