`
wmj2003
  • 浏览: 99699 次
  • 来自: ...
文章分类
社区版块
存档分类
最新评论

spring 事务配置 的一种方法

阅读更多
  1. <?xmlversion="1.0"encoding="UTF-8"?>
  2. <!DOCTYPEbeansPUBLIC"-//SPRING//DTDBEAN2.0//EN""http://www.springframework.org/dtd/spring-beans-2.0.dtd">
  3. <!--
  4. -ApplicationcontextdefinitionforPetCliniconJDBC.
  5. -->
  6. <beans>
  7. <!--=========================RESOURCEDEFINITIONS=========================-->
  8. <!--Configurerthatreplaces${...}placeholderswithvaluesfromapropertiesfile-->
  9. <!--(inthiscase,JDBC-relatedsettingsforthedataSourcedefinitionbelow)-->
  10. <!--
  11. <beanid="propertyConfigurer"class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
  12. <propertyname="location"value="/WEB-INF/jdbc.properties"/>
  13. </bean>
  14. -->
  15. <!--
  16. SimplelocalDataSourcethatworksinanyenvironment.
  17. ThisusestheJDBCDriverManagertoobtainconnections,anddoesNOTperformconnection
  18. pooling.Connectionpoolingisessentialtoallreal-worldapplications.
  19. Thisdefinitionisgoodforgettingstarted,asitintroducesnodependenciesbeyond
  20. theJDK,butDriverManagerDataSourceisnotintendedforproductionusage.
  21. -->
  22. <!--
  23. <beanid="dataSource"class="org.springframework.jdbc.datasource.DriverManagerDataSource">
  24. <propertyname="driverClassName"value="${jdbc.driverClassName}"/>
  25. <propertyname="url"value="${jdbc.url}"/>
  26. <propertyname="username"value="${jdbc.username}"/>
  27. <propertyname="password"value="${jdbc.password}"/>
  28. </bean>
  29. -->
  30. <!--在spring中直接配置jdbc链接
  31. <beanid="dataSource"
  32. class="org.springframework.jdbc.datasource.DriverManagerDataSource">
  33. <propertyname="driverClassName"
  34. value="net.sourceforge.jtds.jdbc.Driver"/>
  35. <propertyname="url"
  36. value="jdbc:jtds:sqlserver://localhost:1433/wmjqxgl;SelectMethod=cursor;charset=GBK;tds=8.0;lastupdatecount=true"/>
  37. <propertyname="username"value="sa"/>
  38. <propertyname="password"value="sa"/>
  39. </bean>-->
  40. <!--通过proxool来配置数据源-->
  41. <beanid="dataSource"
  42. class="org.springframework.jdbc.datasource.DriverManagerDataSource">
  43. <propertyname="driverClassName"
  44. value="org.logicalcobwebs.proxool.ProxoolDriver"/>
  45. <propertyname="url"
  46. value="proxool.qxgldb"/>
  47. </bean>
  48. <!--
  49. AlternativelocalDataSourcethatworksinanyenvironment,andoffersmuchbetterperformance.
  50. UsesApacheCommonsDBCPforconnectionpooling.SeeCommonsDBCPdocumentation
  51. fortherequiredJARfiles.SeethePetStoresampleapplicationalsoshippedwith
  52. Spring,foranexampleofCommonsDBCPusageandthenecessarybuildscript.
  53. AlternativelyyoucanuseanotherconnectionpoolsuchasC3P0,similarlyconfigured
  54. usingSpring.
  55. AstandaloneconnectionpoolsuchasCommonsDBCPisagoodchoiceforuseoutsidean
  56. applicationserverenvironment,includingwebapplicationsrunninginawebcontainerwithout
  57. JTA,orintegrationtestingusingtheorg.springframework.testpackage.
  58. -->
  59. <!--
  60. <beanid="dataSource"class="org.apache.commons.dbcp.BasicDataSource"destroy-method="close">
  61. <propertyname="driverClassName"value="${jdbc.driverClassName}"/>
  62. <propertyname="url"value="${jdbc.url}"/>
  63. <propertyname="username"value="${jdbc.username}"/>
  64. <propertyname="password"value="${jdbc.password}"/>
  65. </bean>
  66. -->
  67. <!--JNDIDataSourceforJ2EEenvironments-->
  68. <!--
  69. <beanid="dataSource"class="org.springframework.jndi.JndiObjectFactoryBean">
  70. <propertyname="jndiName"value="java:comp/env/jdbc/petclinic"/>
  71. </bean>
  72. -->
  73. <!--TransactionmanagerforasingleJDBCDataSource(alternativetoJTA)-->
  74. <beanid="transactionManager"
  75. class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
  76. <propertyname="dataSource"ref="dataSource"/>
  77. </bean>
  78. <!--TransactionmanagerthatdelegatestoJTA(foratransactionalJNDIDataSource)-->
  79. <!--
  80. <beanid="transactionManager"class="org.springframework.transaction.jta.JtaTransactionManager"/>
  81. -->
  82. <beanid="baseTransactionProxy"abstract="true"
  83. class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
  84. <propertyname="transactionManager">
  85. <refbean="transactionManager"/>
  86. </property>
  87. <propertyname="transactionAttributes">
  88. <props>
  89. <propkey="create*">
  90. PROPAGATION_REQUIRED,-Exception
  91. </prop>
  92. <propkey="update*">
  93. PROPAGATION_REQUIRED,-Exception
  94. </prop>
  95. <propkey="delete*">
  96. PROPAGATION_REQUIRED,-Exception
  97. </prop>
  98. <propkey="get*">PROPAGATION_REQUIRED,readOnly</prop>
  99. <propkey="retrieve*">
  100. PROPAGATION_REQUIRED,readOnly
  101. </prop>
  102. <propkey="*">PROPAGATION_REQUIRED,-Exception</prop>
  103. </props>
  104. </property>
  105. </bean>
  106. <!--
  107. 通过BeanNameAutoProxyCreator来实现spring的事务控制-->
  108. <bean
  109. class="org.springframework.transaction.interceptor.TransactionAttributeSourceAdvisor">
  110. <propertyname="transactionInterceptor"
  111. ref="transactionInterceptor"/>
  112. </bean>
  113. <beanid="transactionInterceptor"
  114. class="org.springframework.transaction.interceptor.TransactionInterceptor">
  115. <propertyname="transactionManager">
  116. <refbean="transactionManager"/>
  117. </property>
  118. <propertyname="transactionAttributes">
  119. <props>
  120. <propkey="create*">
  121. PROPAGATION_REQUIRED,-Exception
  122. </prop>
  123. <propkey="update*">
  124. PROPAGATION_REQUIRED,-Exception
  125. </prop>
  126. <propkey="delete*">
  127. PROPAGATION_REQUIRED,-Exception
  128. </prop>
  129. <propkey="get*">PROPAGATION_REQUIRED,readOnly</prop>
  130. <propkey="retrieve*">
  131. PROPAGATION_REQUIRED,readOnly
  132. </prop>
  133. <propkey="*">PROPAGATION_REQUIRED,-Exception</prop>
  134. </props>
  135. </property>
  136. </bean>
  137. <bean
  138. class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
  139. <propertyname="beanNames">
  140. <value>*ServiceDao</value>
  141. </property>
  142. <propertyname="interceptorNames">
  143. <list>
  144. <value>transactionInterceptor</value>
  145. </list>
  146. </property>
  147. </bean>
  148. <!--=========================BUSINESSOBJECTDEFINITIONS=========================-->
  149. </beans>
分享到:
评论

相关推荐

    spring事务配置的五种方式

    本文详细介绍了Spring事务配置的五种方式,并以第一种方式为例进行了具体分析。通过了解这五种配置方式,开发者可以根据项目的实际情况选择最合适的方法来实现事务管理,从而提高系统的稳定性和可靠性。

    Spring事务配置的五种方式

    Spring 事务配置是Spring框架中不可或缺的部分,它用于管理和协调应用程序中的事务边界,确保数据的一致性和完整性。在Spring中,事务配置主要涉及到三个核心组件:DataSource、TransactionManager以及代理机制。...

    spring事务配置的5中方式

    Spring 事务配置是Spring框架中不可或缺的一部分,它用于管理和协调应用程序中的事务边界,确保数据的一致性和完整性。在Spring中,事务配置主要涉及到三个核心组件:DataSource、TransactionManager和代理机制。...

    Spring事务原理、Spring事务配置的五种方式

    Spring事务原理是指Spring框架中的一种机制,用于管理事务,并提供了多种配置方式。事务是指一系列的操作,作为一个整体执行,如果其中某个操作失败,整个事务将回滚。Spring事务原理围绕着两个核心:...

    spring 事务配置的五种方法

    ### Spring 事务配置的五种方法详解 #### 一、引言 在现代软件开发过程中,事务处理是一项至关重要的技术,特别是在涉及数据库操作时。Spring 框架提供了丰富的事务管理功能,支持多种不同的配置方式来满足不同...

    spring几种事务配置详解【精】

    本文将深入探讨Spring中的几种事务配置方式,帮助开发者更好地理解和运用。 1. **编程式事务管理** 编程式事务管理是在代码中显式调用事务API来控制事务的开始、提交、回滚等操作。这种方式直接在业务逻辑代码中...

    详细说明spring事务配置的5种方式

    本文将详细介绍Spring事务配置的五种方式,帮助你深入理解如何在Spring应用中管理事务。 1. **基于XML的声明式事务管理** 第一种方式是在每个Bean上使用代理来实现事务管理。首先,配置`DataSource`,通常是`...

    spring3.0两种事务管理配置

    Spring 3.0 提供了两种事务管理配置方法:基于 XML 的事务管理和基于 @Transactional 的事务管理,这两种方法都是为了实现事务管理的目标,分别具有不同的配置方式和优缺点。 基于 XML 的事务管理 这种方法不需要...

    spring事务管理5种方法

    本篇文章将深入探讨Spring事务管理的五种方法,旨在帮助开发者更好地理解和运用这一核心特性。 首先,我们来了解什么是事务。在数据库操作中,事务是一组逻辑操作,这些操作要么全部成功,要么全部失败,确保数据的...

    Spring AOP配置事务方法

    Spring AOP 配置事务方法提供了一种灵活的方式来实现事务管理,通过配置事务特性和事务管理切面来实现事务管理。开发者可以根据需要配置事务管理器、数据源连接池和事务特性来实现特定的事务管理需求。

    Spring 事务配置详解(多种配置方法)

    以下是Spring事务配置的五种常见方式: ### 1. **每个Bean一个代理** 在这种方式中,每个需要事务管理的Bean都有一个对应的代理Bean。XML配置示例如下: ```xml &lt;bean id="userDaoTarget" class="com.bluesky....

    spring声明式事务配置

    4. **TransactionProxyFactoryBean**:这是一种使用代理模式的声明式事务配置方法,为DAO层的方法提供事务支持。 ```xml &lt;bean id="userDao" class="org.springframework.transaction.interceptor....

Global site tag (gtag.js) - Google Analytics