1. 程式人生 > >【spring配置】——spring配置資料來源

【spring配置】——spring配置資料來源

spring整合資料來源,資料來源交由Spring管理後,可以方便的配置事務,配置hibernate或者mybatis等。

常用的配置方式有三種:

1.dbcp

2.c3p0

3.jndi

配置檔案:

<?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:p="http://www.springframework.org/schema/p"
	xmlns:context="http://www.springframework.org/schema/context"
	xsi:schemaLocation="
	    http://www.springframework.org/schema/beans 
	    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
	    http://www.springframework.org/schema/context 
	    http://www.springframework.org/schema/context/spring-context-3.0.xsd">

	<!--
		*********************** 
		Spring整合資料來源(Oracle)
		第一種:dbcp資料來源
		第二種:c3p0資料來源
		第三種:jndi資料來源 
		***********************
	-->

	<!-- dbcp資料來源 -->
	<!-- destory-method是保證spring容器關閉時,資料來源能夠正常工作-->
	<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
		destroy-method="close">
		<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
		<property name="url" value="jdbc:oracle:thin:@127.0.0.1:1521:XE" />
		<property name="username" value="test" />
		<property name="password" value="test"/>
	</bean>

	<!-- c3p0資料來源 -->
	<bean id="dataSource1" class="com.mchange.v2.c3p0.ComboPooledDataSource"
					destroy-method="close"> 
			<property name="driverClass" value="oracle.jdbc.driver.OracleDriver"/> 
			<property name="jdbcUrl" value="jdbc:oracle:thin:@localhost:1521:XE"/> 
			<property name="user" value="test"/> 
			<property name="password" value="test"/> 
		</bean>

	<!-- jndi資料來源(需要在容器tomcat或者weblogic中配置對應資料來源) -->
 	<bean id="dataSource3" class="org.springframework.jndi.JndiObjectFactoryBean">
             <!--weblogic
             <property name="jndiName" value="jdbc/pool" /> -->
             <!--tomcat-->
             <property name="jndiName" value="java:comp/env/jdbc/pool">
        </bean>
</beans>
如果使用jndi資料來源,則需要在weblogic控制檯中配置資料來源。

如果使用tomcat伺服器,需要在tomcat的配置檔案context.xml中:

<Resource name="jdbc/pool"  auth="Container"
        type="javax.sql.DataSource"
        username="test"
        password="test"
        driverClassName="oracle.jdbc.driver.OracleDriver"
        url="jdbc:oracle:thin:@localhost:1521:XE"
        maxActive="100"
        maxIdle="30"
        maxWait="10000"
/>