使用自己的jdbc类,使用spring的事务管理.自己的类里面不依赖spring框架.

把自己的Dao改造成线程安全的类了,也就是每个方法都是互不关联了

通过试验,成功通过测试

使用自己的jdbc类,使用spring的事务管理.自己的类里面不依赖spring框架.

部分相关的特殊配置如下 (其他部分和正常配置一样,就不写了)

Java代码 
  1. <bean id="dataSourceTarget" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"
  2.     <property name="driverClassName"><value>${jdbc.driverClassName}</value></property> 
  3.     <property name="url"><value>${jdbc.url}</value></property> 
  4.     <property name="username"><value>${jdbc.username}</value></property> 
  5.     <property name="password"><value>${jdbc.password}</value></property> 
  6.     <property name="maxActive"><value>100</value></property> 
  7.     <property name="maxIdle"><value>10</value></property> 
  8.     <property name="maxWait"><value>30000</value></property>          
  9.     <property name="timeBetweenEvictionRunsMillis"><value>300000</value></property> 
  10.     <property name="minEvictableIdleTimeMillis"><value>300000</value></property> 
  11. </bean> 
  12.  
  13.  
  14.    <bean id="dataSource" class="org.springframework.jdbc.datasource.TransactionAwareDataSourceProxy"
  15.    <constructor-arg ><ref bean="dataSourceTarget" /></constructor-arg> 
  16.    </bean> 
  17.  
  18. <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"
  19.     <property name="dataSource"><ref bean="dataSourceTarget"/></property> 
  20. </bean> 
	<bean id="dataSourceTarget" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
		<property name="driverClassName"><value>${jdbc.driverClassName}</value></property>
		<property name="url"><value>${jdbc.url}</value></property>
		<property name="username"><value>${jdbc.username}</value></property>
		<property name="password"><value>${jdbc.password}</value></property>
		<property name="maxActive"><value>100</value></property>
		<property name="maxIdle"><value>10</value></property>
		<property name="maxWait"><value>30000</value></property>		 
		<property name="timeBetweenEvictionRunsMillis"><value>300000</value></property>
		<property name="minEvictableIdleTimeMillis"><value>300000</value></property>
	</bean>


    <bean id="dataSource" class="org.springframework.jdbc.datasource.TransactionAwareDataSourceProxy">
    <constructor-arg ><ref bean="dataSourceTarget" /></constructor-arg>
    </bean>

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



需要注意的是transactionManager的属性要设置为dataSourceTarget,而不是dataSource. 否则会有问题.
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值