(筆記)Spring實戰_征服數據庫(2)_配置數據源

Spring提供了在Spring上下文中配置數據源Bean的多種方式,包括:
通過JDBC驅動程序定義的數據源
通過JNDI查找的數據源
連接池的數據源
1.使用JNDI數據源
這種配置的好處在於數據源完全可以在應用程序之外進行管理,這樣應用程序只需在訪問數據庫的時候查找數據源就可以了。另外,在應用服務器中管理的數據源通常以池的方式組織,從而具備更好地性能,並且支持系統管理員對其進行熱切換。
位於jee命名空間下的<jee:jndi-lookup>元素可以用於檢索JNDI中的任何對象(包括數據源)並將其用於Spring Bean中。

    <jee:jndi-lookup id="dataSource" jndi-name="/jdbc/SpitterDS"
        resource-ref="true" />

如果應用程序運行在Java應用程序服務器中,則需要將resource-ref屬性設置爲true,這樣給定的jndi-name將會自動添加java:comp/env/前綴。
2.使用數據源連接池
打開Oracle服務
打開Oracle服務
DB

create tablespace springinaction datafile 'E:\oracle\springinaction.dbf' size 50M autoextend on next 5M maxsize 200M;
create user spring identified by spring default tablespace springinaction;
grant resource to spring;  

spring-spitter.xml

    <bean id="dataSource_DBCP" class="org.apache.commons.dbcp.BasicDataSource">
        <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
        <property name="url"
            value="jdbc:oracle:thin:@localhost:1521:orcl" />
        <property name="username" value="spring" />
        <property name="password" value="spring" />
        <!--initialSize:初始化連接 -->
        <property name="initialSize" value="5" />
        <!--maxActive:最大連接數量-->    
        <property name="maxActive" value="10"/>
    </bean>

pom.xml

        <dependency>
            <groupId>commons-dbcp</groupId>
            <artifactId>commons-dbcp</artifactId>
            <version>1.4</version>
        </dependency>

3.基於JDBC驅動的數據源
Spring提供了兩種數據源對象(均位於org.springframework.jdbc.datasource)供選擇。
DriverManagerDataSource:在每個連接請求時都會返回一個新建的連接。
SingleConnectionDataSource:在每個連接請求時都會返回同一個連接。

    <bean id="dataSource_JDBC"
        class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
        <property name="url"
            value="jdbc:oracle:thin:@localhost:1521:orcl" />
        <property name="username" value="spring" />
        <property name="password" value="spring" />
    </bean>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章