bean.xml,c3p0,dbcp

<?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:context="
http://www.springframework.org/schema/context"
 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.5.xsd
           http://www.springframework.org/schema/context
           http://www.springframework.org/schema/context/spring-context-2.5.xsd
           http://www.springframework.org/schema/aop
           http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
           http://www.springframework.org/schema/tx
          
http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
          
   <context:annotation-config/>
   <context:component-scan base-package="com.cbpk"/>
   <aop:aspectj-autoproxy/>
  
   <!--
   <bean
  class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
  <property name="locations">
   <value>classpath:jdbc.properties</value>
  </property>
 </bean>
 -->
 <!--<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
   <property name="driverClassName">
  <value>com.mysql.jdbc.Driver</value>
 </property>
  <property name="url">
   <value>jdbc:mysql://10.1.247.22:3306/babyweb</value>
  </property>
  <property name="username">
   <value>baby</value>
  </property>
  <property name="password">
   <value>123456</value>
  </property>
  <property name="maxActive" value="20"></property>
  <property name="maxIdle" value="500"></property>
  <property name="maxWait" value="800"></property>
  <property name="removeAbandoned" value="true"></property>
  <property name="removeAbandonedTimeout" value="3"></property>
  
 </bean>
 -->
 
 <bean id="dataSource"  class="com.mchange.v2.c3p0.ComboPooledDataSource"      destroy-method="close"> 

        <property name="driverClass"> 

            <value>com.mysql.jdbc.Driver</value> 

        </property> 

        <property name="jdbcUrl"> 

            <value>jdbc:mysql://10.1.247.22:3306/BabyWeb?useUnicode=true&amp;characterEncoding=GBK</value> 

        </property> 

        <property name="user"> 

            <value>baby</value> 

        </property> 

        <property name="password"> 

            <value>123456</value> 

        </property> 

    <!--连接池中保留的最小连接数。--> 

        <property name="minPoolSize"> 

            <value>5</value> 

        </property> 

    <!--连接池中保留的最大连接数。Default: 15 --> 

        <property name="maxPoolSize"> 

            <value>30</value> 

        </property> 

   <!--初始化时获取的连接数,取值应在minPoolSize与maxPoolSize之间。Default: 3 --> 

        <property name="initialPoolSize"> 

            <value>10</value> 

        </property> 

    <!--最大空闲时间,60秒内未使用则连接被丢弃。若为0则永不丢弃。Default: 0 --> 

        <property name="maxIdleTime"> 

            <value>60</value> 

        </property> 

    <!--当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default: 3 --> 

        <property name="acquireIncrement"> 

            <value>5</value> 

        </property> 

    <!--JDBC的标准参数,用以控制数据源内加载的PreparedStatements数量。但由于预缓存的statements 

                属于单个connection而不是整个连接池。所以设置这个参数需要考虑到多方面的因素。 

               如果maxStatements与maxStatementsPerConnection均为0,则缓存被关闭。Default: 0--> 

        <property name="maxStatements"> 

            <value>0</value> 

        </property> 

    <!--每60秒检查所有连接池中的空闲连接。Default: 0 --> 

        <property name="idleConnectionTestPeriod"> 

            <value>60</value> 

        </property> 

    <!--定义在从数据库获取新连接失败后重复尝试的次数。Default: 30 --> 

        <property name="acquireRetryAttempts"> 

            <value>30</value> 

        </property> 

    <!--获取连接失败将会引起所有等待连接池来获取连接的线程抛出异常。但是数据源仍有效 

         保留,并在下次调用getConnection()的时候继续尝试获取连接。如果设为true,那么在尝试 

        获取连接失败后该数据源将申明已断开并永久关闭。Default: false--> 

        <property name="breakAfterAcquireFailure"> 

            <value>true</value> 

        </property> 

    <!--因性能消耗大请只在需要的时候使用它。如果设为true那么在每个connection提交的 

            时候都将校验其有效性。建议使用idleConnectionTestPeriod或automaticTestTable 

             等方法来提升连接测试的性能。Default: false --> 

        <property name="testConnectionOnCheckout"> 

            <value>false</value> 

        </property> 

    </bean> 

 
 
 <!--<bean id="dataSource" destroy-method="close"
  class="org.apache.commons.dbcp.BasicDataSource">
  <property name="driverClassName"
   value="${jdbc.driverClassName}" />
  <property name="url" value="${jdbc.url}" />
  <property name="username" value="${jdbc.username}" />
  <property name="password" value="${jdbc.password}" />
 </bean>
 -->
 <bean id="keyWordFilter" class="com.cbpk.util.KeyWordFilter" scope="prototype"></bean>
 
 <bean id="sessionFactory"
  class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
  <property name="dataSource" ref="dataSource" />
  <property name="packagesToScan">
   <list>
    <value>com.cbpk.beans</value>
   </list>
  </property>
  
  <property name="hibernateProperties">
   <props>
    <prop key="hibernate.dialect">
     org.hibernate.dialect.MySQLDialect
    </prop>
    <prop key="hibernate.show_sql">true</prop>
   </props>
  </property>
 </bean>

 <bean id="txManager"
  class="org.springframework.orm.hibernate3.HibernateTransactionManager">
  <property name="sessionFactory" ref="sessionFactory" />
 </bean>
 <aop:config>
  <aop:pointcut id="bussinessService"
   expression="execution(public * com.cbpk.dao..*.*(..))" />
   <!--<aop:pointcut expression="execution(public * com.cbpk.action..*.*(..))" id="bussinessService"/>-->
   
  <aop:advisor pointcut-ref="bussinessService"
   advice-ref="txAdvice" />
  
 </aop:config>

 <tx:advice id="txAdvice" transaction-manager="txManager" >
  <tx:attributes>
   <tx:method name="*" propagation="REQUIRED"/>
   <tx:method name="get*" read-only="true"/>
   <tx:method name="change*" propagation="REQUIRED" />
   <tx:method name="delete*" propagation="REQUIRED"/>
   <tx:method name="add*" propagation="REQUIRED"/>
  </tx:attributes>
 </tx:advice>
 
 <!--<tx:annotation-driven transaction-manager="txManager"/>-->
 
 <!--
   <aop:config>
     <aop:aspect id="testaspect" ref="testAop">
      <aop:pointcut expression="execution(* com.lee.service.impl.*.*(..))" id="test"/>
      <aop:before method="before" pointcut-ref="test"/>
     </aop:aspect>
   </aop:config>
  
-->

 <bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
  <property name="sessionFactory" ref="sessionFactory"></property>
 </bean>
 

</beans>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值