【Spring】Spring連接池(一、xml的配置)

首先

jdbc.properties,用於保存連接數據庫的信息,利於我們在配置文件中的使用

driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost/test
uname=root
password=root

需要在applicationContext.xml(Spring的配置文件)中配置

<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="location" value="classpath:jdbc.properties"></property>
    </bean>

<context:property-placeholder location="classpath:jdbc.properties"/>

 

spring框架內置的連接池(需要有spring的jar包)

在applicationContext.xml(Spring的配置文件)的配置:

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="${jdbc.driver}"></property>
    <property name="url" value="${jdbc.url}"></property>
    <property name="username" value="${jdbc.username}"></property>
    <property name="password" value="${jdbc.password}"></property>
  </bean>

jdbc連接池配置

<bean id="dataSource"
    class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="com.mysql.jdbc.Driver">
    </property>
    <property name="url" value="jdbc:mysql://localhost:3306/test?characterEncoding=UTF8" />
    <property name="username" value="root"></property>
    <property name="password" value="root"></property>
</bean>​​​​​​

DriverManagerDataSource沒有實現連接池化連接的機制,每次調用getConnection()獲取新連接時,只是簡單地創建一個新的連接。所以,一般這種方式常用於開發時測試,不用於生產。

c3p0連接池配置(需要引入對應的jar包,這裏我使用的是c3p0-0.9.1.2.jar)

在applicationContext.xml(Spring的配置文件)的配置:

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
    <property name="driverClassName" value="${driverClassName}"></property>
		<property name="url" value="${url}"></property>
		<property name="username" value="${uname}"></property>
		<property name="password" value="${password}"></property>
</bean>

Apache的dbcp連接池配置(需要引入jar包)

commons-collections-3.1.jar

commons-dbcp-1.4.jar

commons-pool.jar

在applicationContext.xml(Spring的配置文件)的配置:

<!-- 第一步 讀取配置文件 -->
	<bean
		class="org.springframework.beans.factory.config.PreferencesPlaceholderConfigurer">
		<property name="locations">
			<value>classpath:jdbc.properties</value>
		</property>
	</bean>
	<!-- 第二步 通過表達式將配置文件引入 -->
	<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
		<property name="driverClassName" value="${driverClassName}"></property>
		<property name="url" value="${url}"></property>
		<property name="username" value="${uname}"></property>
		<property name="password" value="${password}"></property>
	</bean>

	<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
		<property name="dataSource" ref="dataSource"></property>
	</bean>

	<bean id="baseDao" class="com.dao.BaseDao">
		<property name="jdbcTemplate" ref="jdbcTemplate"></property>
	</bean>

    <!-- 給service添加註解 -->
	<context:component-scan base-package="com.service"></context:component-scan>
	<aop:config proxy-target-class="true"></aop:config>

</beans>

阿里巴巴框架 的druid連接池

這個也需要引入jar包!!!

這裏我使用的是:

druid-0.1.18.jar

在applicationContext.xml(Spring的配置文件)的配置:

<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
       <property name="driverClassName" value="${driverClassName}"></property>
        <property name="url" value="${url}"></property>
        <property name="username" value="${uname}"></property>
        <property name="password" value="${password}"></property>
   </bean>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章