分析共享Spring配置資料來源四種方式(附相應jar包)
使用spring框架時,平常你都使用那種資料來源呢?本篇部落格將分享spring常用的四種配置資料來源方式。
以下使用Oracle10g版本作為例子。
第一種:使用spring自帶的DriverManagerDataSource
配置檔案如下:
[html] view plaincopyprint?- <?xmlversion="1.0"encoding="UTF-8"?>
- <beansxmlns="http://www.springframework.org/schema/beans"
-
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:context="http://www.springframework.org/schema/context"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/aop http://www.springframework.org/schema/aop/spring-aop-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/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
- <beanid="dataSource"
-
class="org.springframework.jdbc.datasource.DriverManagerDataSource"
- <propertyname="driverClassName">
- <value>oracle.jdbc.driver.OracleDriver</value>
- </property>
- <propertyname="url">
- <value>jdbc:oracle:thin:@192.168.24.102:1521:sms</value>
- </property>
- <propertyname="username">
- <value>test</value>
- </property>
- <propertyname="password">
- <value>test</value>
- </property>
- </bean>
- </beans>
第二種:DBCP資料來源。
需要下載的jar包:commons-dbcp.jar,commons-pool.jar
spring的配置檔案中如下:
[html] view plaincopyprint?- <beanid="dataSource"class="org.apache.commons.dbcp.BasicDataSource"
- destroy-method="close">
- <propertyname="driverClassName"value="oracle.jdbc.driver.OracleDriver"/>
- <propertyname="url"value="jdbc:oracle:thin:@192.168.24.102:1521:sms"/>
- <propertyname="username"value="test"/>
- <propertyname="password"value="test"/>
- </bean>
第三種:C3P0資料來源。
配置檔案中如下:
[html] view plaincopyprint?- <beanid="dataSource"class="com.mchange.v2.c3p0.ComboPooledDataSource"
- destroy-method="close">
- <propertyname="driverClass"value="oracle.jdbc.driver.OracleDriver"/>
- <propertyname="jdbcUrl"value="jdbc:oracle:thin:@192.168.24.102:1521:sms "/>
- <propertyname="user"value="test"/>
- <propertyname="password"value="test"/>
- </bean>
在配置c3p0資料來源時,折騰許久,一直提示這個錯誤:
[html] view plaincopyprint?- java.sql.SQLException: No suitable driver at java.sql.DriverManager.getDriver(Unknown Source)
- at com.mchange.v2.c3p0.DriverManagerDataSource.driver(DriverManagerDataSource.java:224)
- at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:135)
- at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:182)
- at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:171)
- at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:137)
- at com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1014)
- at com.mchange.v2.resourcepool.BasicResourcePool.access$800(BasicResourcePool.java:32)
- at com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java:1810)
- at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547)
上網查閱很多資料,發現很多人同樣為這個問題頭疼,並且也給出了相應的解決辦法,這個問題提示驅動不對,但是網上解決辦法往往都是配置檔案中的xml書寫問題,若你在配置過程中出現此問題的話,可以參考這個解決辦法,很令人無語的解決辦法:http://kangzye.blog.163.com/blog/static/3681922320091033359708/
我在配置過程出現問題是jdbc書寫馬虎,導致此問題出現。o(︶︿︶)o唉
第四種:使用hibernate資料來源
需要hiberante核心jar包。
目前三大框架較流行,spring一般與hiberante做搭檔,資料庫連線方式寫在hiberante的配置檔案中,在spring管理hibernate中的配置檔案中,直接讀取hibernate核心配置檔案即可。
其中讀取hibernate資料來源與訪問dao層的方式是配置在一塊的。配置如下:
[html] view plaincopyprint?- <beanid="sessionFactory"class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
- <propertyname="configLocations">
- <list>
- <value>classpath:com/config/hibernate.cfg.xml</value>
- </list>
- </property>
- <propertyname="mappingLocations">
- <!-- 所有的實體類對映檔案 -->
- <list>
- <value>classpath:com/hibernate/*.hbm.xml</value>
- </list>
- </property>
這是常用的幾種配置方式,資料來源配置好了,下一步是讀取Dao層,使用spring如何讀取dao層呢?
相關推薦
分析共享Spring配置資料來源四種方式(附相應jar包)
使用spring框架時,平常你都使用那種資料來源呢?本篇部落格將分享spring常用的四種配置資料來源方式。 以下使用Oracle10g版本作為例子。 第一種:使用spring自帶的DriverManagerDataSource 配置檔案如下: [html] view plaincopyp
spring配置資料來源幾種方式
配置Spring資料來源的幾種方式 配置一個數據源 Spring在第三方依賴包中包含了兩個資料來源的實現類包,其一是Apache的DBCP,其二是 C3P0。可以在Spring配置檔案中利用這兩者中任何一個配置資料來源。 DBCP資料來源 DBC
Spring配置資料來源的四種方式(小結)
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSc
spring 4 配置 datasource 四種方式
1、使用org.springframework.jdbc.datasource.DriverManagerDataSource 說明:DriverManagerDataSource建立連線是隻要有連線就新建一個connection,根本沒有連線池的作用。 <bean id="dataSource"
Linux網卡配置的四種模式以及防火墻設置的四種方式(CentOS 7.4)未完成
cmp netmask 如果 18C per 配置文件 匹配 .com cti 一、網卡配置的四種模式 1、直接修改配置文件 vim /etc/sysconfig/network-scripts/ifcfg-ens33 BOOTPROTO代表地址的分配方式,有dhc
springMVC中配置servlet的url-pattern的四種方式(轉載 筆記)
https://www.cnblogs.com/canger/p/6084846.html 1.精確匹配 <url-pattern>/book/listBook</url-pattern> controller @Controller @RequestM
spring配置datasource三種方式
1、使用org.springframework.jdbc.datasource.DriverManagerDataSource 說明:DriverManagerDataSource建立連線是隻要有連線就新建一個connection,根本沒有連線池的作用。 <bean id="dataSource" c
spring 配置的三種方式:XML配置,JAVA配置和註解配置
是否有了這些 IOC 註釋,我們就可以完全摒除原來 XML 配置的方式呢?答案是否定的。有以下幾點原因:註釋配置不一定在先天上優於 XML 配置。如果 Bean 的依賴關係是固定的,(如 Service 使用了哪幾個 DAO 類),這種配置資訊不會在部署時發生調整,那麼註釋配
spring配置datasource三種方式 資料庫連線池
1、使用org.springframework.jdbc.datasource.DriverManagerDataSource 說明:DriverManagerDataSource建立連線是隻要有連線就新建一個connection,根本沒有連線池的作用。 <bean id="dataSource"
Spring 依賴注入四種方式
紙上得來終覺淺 1.構造器注入 AnimalDao: package com.roadArchitectWeb.dao; public interface AnimalDao { /*所有動物有一個說話的方法*/ public void say(); } CatDao
Mybatis 載入 Mapper配置的四種方式
前言 Mybatis 的Mapper 是指Mybatis 執行資料庫操作的介面類以及方法,在非註解模式下,還包含與類對應的 xml 配置檔案。 第一種依據 Mapper 類 具體路徑 配置 Mapper 這種情況下,如果是非註解模式的話xml配置檔案必須和這個類在同一級目錄
spring 配置的兩種方式:JAVA配置和註解配置
眾所周知,spring自從3.0開始以後,就全面推薦使用配置的方式進行程式碼編寫了,這種方式確實可以避免了之前一個專案裡面一大堆XML的情況,畢竟XML的可讀性實在不怎麼樣,而且一會寫JAVA,一會寫XML,確實還是蠻麻煩的 就目前來說spring的配置方式一
spring配置datasource三種方式 資料庫連線
1、使用org.springframework.jdbc.datasource.DriverManagerDataSource 說明:DriverManagerDataSource建立連線是隻要有連線就新建一個connection,根本沒有連線池的作用。 <bean i
Spring依賴注入的四種方式(重點是註解方式)
在Spring容器中為一個bean配置依賴注入有三種方式: · 使用屬性的setter方法注入 這是最常用的方式; · 使用構造器注入; · 使用Filed注入(用於註解方式). 使用屬性的setter方法注入 首先要配置被注入的bean,在該bea
spring配置datasource三種方式及具體資訊
1、使用org.springframework.jdbc.datasource.DriverManagerDataSource說明:DriverManagerDataSource建立連線是隻要有連線就新建一個connection,根本沒有連線池的作用。<bean id
17Spring事務管理的四種方式(以銀行轉賬為例)
寫這篇部落格之前我首先讀了《Spring in action》,之後在網上看了一些關於Spring事務管理的文章,感覺都沒有講全,這裡就將書上的和網上關於事務的知識總結一下,參考的文章如下: Spring事務機制詳解 Spring事務配置的五種方式 Spring中
2_本地直播平臺的搭建—四種方式(20181116)
本地直播平臺的搭建—五種方式 方法一:Windows下用FFmpeg+nginx+rtmp搭建直播環境 實現推流、拉流 (`測試通過`) 環境 1. 簡介: 2. 準備檔案 3. 啟動nginx伺服器 4. 配置FFmpe
執行shell指令碼的四種方式(轉)
原文網址:https://www.jb51.net/article/53924.htm 這篇文章主要介紹了Linux中執行shell指令碼的4種方法,即總結在Linux中執行shell指令碼的4種方法。 前提:bash shell 指令碼的方法有多種,現在作個小結。假設我們編寫好的shell指令碼的檔名為
Nginx 虛擬主機配置的三種方式(三)(基於域名)
3、Nginx基於域名的虛擬主機配置 使用基於域名的虛擬主機配置是比較流行的方式,可以在同一個IP上配置多個域名並且都通過80埠訪問。 3.1 假設伺服器有個IP地址為192.168.2.155 [[email protected] ~]# ifcon
C++執行緒同步的四種方式(Windows)
為什麼要進行執行緒同步? 在程式中使用多執行緒時,一般很少有多個執行緒能在其生命期內進行完全獨立的操作。更多的情況是一些執行緒進行某些處理操作,而其他的執行緒必須對其處理結果進行了解。正常情況下對這種處理結果的瞭解應當在其處理任務完成後進行。 如果不