`
jsjxqjy
  • 浏览: 118342 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

spring datasource 配置及事务管理

阅读更多

首先配置 datasource

 我的数据源配置 来自于tomcat下 conf/context.xml

   在这里你可以配置数据源信息 :

context.xml 配置

 

<Resource name="jdbc/testDB" auth="Container" type="javax.sql.DataSource"
	   maxActive="100" maxIdle="30" maxWait="10000"
	   username="root" password="" driverClassName="com.mysql.jdbc.Driver"
	   url="jdbc:mysql://192.168.1.246:3306/TestDB?useUnicode=true&amp;characterEncoding=utf-8"/>

 

dbonfig.properties文件 配置

jndiName=testDB

 

 

下面是applicationContextAction.xml配置文件

 

<bean id="propertyConfigurer"
		class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
		<property name="locations">
			<list>
				<value>
					WEB-INF/classes/config/dbonfig.properties
				</value>
			</list>
		</property>
	</bean>
<!--jndiName来自 配置文件-->
	<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
		<property name="jndiName">
			<value>java:/comp/env/jdbc/${jndiName}</value>
		</property>
	</bean>

 事务配置

 

<bean id="transactionManager"
		class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
		<property name="dataSource" ref="dataSource" />
	</bean>

	<!-- 将所有具有@Transactional注解的Bean自动配置为声明式事务支持 -->
	<tx:annotation-driven transaction-manager="transactionManager" />

 

具体的DAO 及Service的配置  :设置注入

 

  <bean id="sampleDAO" class="com.test.dao.SampleDAOImplBG"
      autowire="byName" />
   <bean id="sampleDAOProxy"
      class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
      <property name="proxyInterfaces">
         <list>
            <value>com.test.dao.SampleDAO</value>
         </list>
      </property>
      <property name="target" ref="sampleDAO" />
      <property name="transactionManager" ref="transactionManager" />
      <property name="transactionAttributes">
         <props>
            <prop key="*">PROPAGATION_REQUIRED,-Exception</prop>
         </props>
      </property>
   </bean>
   <bean id="sampleService"
      class="com.test.business.SampleServiceImpl">
      <property name="sampleDAO" ref="sampleDAOProxy" />
   </bean>

 

 struts2 Action的配置:构造器注入

 

<bean id="SampletAction" class="com.test.web.SampleAction"
		scope="prototype">
	<constructor-arg ref="sampleService" />
</bean>

 其他配置 可以参考下面超链

 

http://topinking.iteye.com/blog/248839

 

其实spring的 声明式事务管理配置,有5种方式 :下面是更为清晰的

 

根据代理机制的不同,总结了五种Spring事务的配置方式,配置文件如下

 

http://jiake.iteye.com/blog/599418

 

 

分享到:
评论

相关推荐

    Spring动态切换datasource实现mysql多住多从

    Spring支持多个数据源的事务管理,但需要正确配置事务边界,确保跨数据源的事务一致性。 6. **测试与优化**:完成上述配置后,进行充分的测试以确保切换逻辑的正确性。同时,可以根据系统性能监控和调优数据源配置...

    spring_如何管理事务的

    Spring通过AOP(面向切面编程)技术实现了声明式事务管理,可以通过XML配置或注解来实现。 ##### 1. XML配置示例 ```xml &lt;!-- 定义数据源 --&gt; &lt;bean id="dataSource" class="org.apache.commons.dbcp....

    实验 spring 声明事务

    实验 "Spring 声明事务" 是 Java 高级编程中的一个重要环节,旨在让学生掌握 Spring 框架中声明式事务管理的配置和使用。在实际应用中,事务管理是确保数据一致性、完整性和可靠性的关键组件。Spring 提供了声明式...

    spring ibatis 配置(包括事务管理)

    以下是关于"spring ibatis 配置(包括事务管理)"的详细说明: 1. **引入依赖**:首先,我们需要在项目中添加Spring和iBatis的相关依赖。通常,这会在Maven或Gradle的配置文件中完成,确保引入了正确的版本。 2. *...

    spring声明式事务管理配置方式

    - 在传统的Spring配置中,你可以通过`&lt;tx:annotation-driven&gt;`元素启用声明式事务管理,并指定事务管理器。例如: ```xml &lt;bean id="transactionManager" class="org.springframework.jdbc.datasource....

    spring+druid+AtomikosDataSource实现多数据源切换及分布式事务控制

    Spring的`@Transactional`注解可以用来开启和管理这些分布式事务,确保事务的ACID特性。 7. **代码示例** 创建多数据源的配置文件,包括AtomikosDataSourceBean的定义、TransactionManager的配置以及...

    spring mvc+hibernate实现事务管理(配置文件版)

    本项目是关于如何使用Spring MVC与Hibernate结合来实现事务管理的实践教程,通过MyEclipse自动生成所需的包和配置文件。这里将详细讲解这一过程,以及涉及到的关键知识点。 首先,Spring MVC作为Spring框架的一部分...

    Spring AOP配置事务方法

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

    spring中dataSource的配置以及配合IOC的使用

    只需要在`application.properties`或`application.yml`中设置相关属性,Spring Boot就会自动配置并创建`DataSource`。 ```properties spring.datasource.url=jdbc:mysql://localhost:3306/mydb spring.datasource....

    spring事务与数据库操作

    Spring的声明式事务管理是通过配置文件或注解的方式来实现的。这种方式将业务逻辑与事务管理代码分离,使得代码更加清晰且易于维护。 ##### 1.2 配置Spring声明式事务 要启用Spring的声明式事务管理,通常需要做...

    Spring2.5实现事务管理(本地事务、分布式事务).doc

    Spring 2.5 实现事务管理(本地事务、分布式事务) Spring 框架提供了对事务管理的支持,它可以使得事务的管理变得更加简洁和灵活。事务管理是指在多个操作中维持一致性的机制,它可以确保在多个操作中,如果某个...

    Spring学习笔记(18)----使用Spring配置文件实现事务管理

    配置事务管理器时,需要指定数据源(`&lt;bean id="dataSource" ...&gt;`)和其他相关属性,例如`&lt;bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"&gt;`,并设置...

    Spring基于XML方式配置事务

    在Spring配置文件中,我们需要引入`tx`命名空间,并声明一个`PlatformTransactionManager`实例,例如,对于基于JDBC的事务管理,我们会使用`&lt;bean id="transactionManager" class="org.springframework.jdbc....

    spring 的3种事务配置方式

    本文将详细介绍Spring中的三种事务配置方式:编程式事务管理、声明式事务管理以及基于注解的事务管理。 **1. 编程式事务管理** 编程式事务管理是通过编程的方式手动控制事务的开始、提交、回滚等操作。主要使用`...

    spring事务管理

    1. **事务定义**:`DefaultTransactionDefinition`用于设置事务的一些属性,如隔离级别、传播行为等。 2. **事务状态**:`TransactionStatus`对象表示当前事务的状态。 3. **事务管理器**:`...

    spring事务配置的五种方式

    1. **基于XML的全局事务配置**:这种方式通过在Spring配置文件中设置`&lt;tx:advice&gt;`和`&lt;aop:config&gt;`元素来实现事务管理。相比于第一种方式,这种方式更加简洁,适用于所有业务逻辑Bean。 2. **基于注解的事务配置**...

    spring事务配置的5中方式

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

    spring声明式事务管理+jdbc+连接池.zip

    本资料包"spring声明式事务管理+jdbc+连接池.zip"显然是针对Spring框架在数据库操作方面的深入学习,特别是如何利用Spring进行声明式事务管理和JDBC操作,以及如何配置和使用数据库连接池。接下来,我们将详细探讨这...

    Spring 2.5整合iBATIS 2.3并使用Spring的声明式事务管理

    本篇将详细介绍如何在Spring 2.5版本中整合iBATIS 2.3,并利用Spring的声明式事务管理,以提升应用程序的稳定性和可维护性。 首先,我们需要了解Spring 2.5和iBATIS 2.3的基本概念。Spring 2.5是Spring框架的一个...

    spring基于AOP实现事务

    1. **定义事务配置**:在Spring配置文件中,我们需要配置事务管理器。通常,对于Spring JDBC或者Hibernate,我们会使用PlatformTransactionManager,如DataSourceTransactionManager。 ```xml ...

Global site tag (gtag.js) - Google Analytics