1. 程式人生 > >spring配置資料來源的幾種方法

spring配置資料來源的幾種方法

1.使用JNDI

Spring應用程式通常部署在Java EE應用伺服器中,如WebSphere,JBoss,Tomcat這樣的Web容器。這些伺服器允許配置通過jndi獲取資料來源。
好處:
(1)資料來源完全可以在應用程式之外進行管理,應用程式只需在訪問資料庫的時候查詢資料來源即可.
(2)資料來源以池的方式進行組織,具備更好的效能(雖然其它方式也可以)
(3)支援系統管理員進行熱切換.
配置方法:
(1)在spring配置檔案中如下設定:

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

說明:
id,jndi-name根據實際情況設定。如果只設置了jndi-name屬性,那麼就會根據指定的名稱查詢資料來源。如果應用程式執行在java應用伺服器上,需要將resource-ref屬性設定為true,這樣給定的jndi-name會自動新增”java:comp/env”字首(這個有什麼意義待研究).另外,spring中的配置檔案還可以使用EL表示式.

伺服器中的配置以tomcat為例:
(1)tomcat目錄下config目錄下context.xml檔案:

<Resource 
name="jdbc/SpitterDS" 
auth="Container"
type="javax.sql.DataSource" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/SpitterDS username="root" password="jdzxdb" maxActive="100" maxIdle="30" maxWait="60" wait_timeout="18800" />

其中
name 表示指定的jndi名稱(需要與spring中的配置檔案一致)
auth 表示認證方式,一般為Container
type 表示資料來源床型,使用標準的javax.sql.DataSource
username 表示資料庫使用者名稱
password 表示資料庫使用者的密碼
driverClassName 表示JDBC DRIVER
url 表示資料庫URL地址

(2)tomcat目錄下config目錄下server.xml檔案(與第一種類似):

2.使用第三方資料來源連線池

如果你不能從JNDI中查詢資料來源,那麼第二個選擇是在spring中配置資料來源連線池,spring中沒有資料來源連線池的實現,但是有很多解決方案,比如開源的實現:

舉例配置DBCP BasicDataSource的方式:

<bean id="datasource" class="org.apache.dbcp.BasicDatasource"
p:driverClassName="org.h2.Driver"
p:url="jdbc:h2:tcp://localhost/~/spitter"
p:useername:"sa"
p:password=""
p:initialSize="5"
p:maxActive="10"/>

3.基於jdbc驅動的資料來源

spring自身提供了三個沒有連線池功能的資料來源類(均位於org.springframework.jdbc.datasource包中)

DriverManagerDatasource
SimpleDriverDatasource
SingleConnectionDatasource

直接在spring中配置即可:

<bean
id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource"
p:driverClassName="org.h2.Driver"
p:url="jdbc:h2:tcp://localhost/~/spitter"
p:useername:"sa"
p:password=""
/>

與具備池功能的資料來源相比,唯一的區別在於這些資料來源bean都沒有提供連線池功能.這種配置最好只在測試的時候使用.

4.使用嵌入式的資料來源

使用環境:一般用於開發和測試
嵌入式資料庫(embedded database)作為應用的一部分執行而不是應用連線的獨立資料庫伺服器
好處:每次重啟應用或執行測試的時候都能夠重新填充測試資料

spring的jdbc名稱空間你能夠簡化嵌入式資料庫的配置。

<jdbc:embedded-database id="datasource" type="H2">
<jdbc:script location="com/habuma/spitter/db/jdbc/schema.sql"/>
<jdbc:script location="com/habuma/spitter/db/jdbc/test-data.sql"/>
<jdbc:embeded-database/>

type設定為H2表明嵌入式資料庫是H2(如果型別為DERBY,那麼表明要使用的是Apache Derby嵌入式資料庫),要確保H2在應用的類路徑下(嵌入式資料庫是作為應用的一部分)。多個script元素用來搭建資料庫,schema.sql包含了資料庫中建立表的sql,test-data.sql包含了將測試資料填充到資料庫中的sql.

上面的這些配置均是xml檔案的配置方式,還可以使用spring的@Bean的方式(javaConfig方式)

相關推薦

spring配置資料來源方式

  配置Spring資料來源的幾種方式 配置一個數據源      Spring在第三方依賴包中包含了兩個資料來源的實現類包,其一是Apache的DBCP,其二是 C3P0。可以在Spring配置檔案中利用這兩者中任何一個配置資料來源。 DBCP資料來源      DBC

Android Studio下Svn忽略檔案配置方法

一、Android Studio建立的Android專案一般需要忽略 1、.idea資料夾 2、.gradle資料夾 3、所有的build資料夾 4、所有的.iml檔案 5、local.

Struts2——strtus.xml中method配置方法

strtus.xml中method配置的幾種方法 public class ProductAction extends ActionSupport{public String find(){System.out.println("find");return Action.S

分析共享Spring配置資料來源方式(附相應jar包)

使用spring框架時,平常你都使用那種資料來源呢?本篇部落格將分享spring常用的四種配置資料來源方式。 以下使用Oracle10g版本作為例子。 第一種:使用spring自帶的DriverManagerDataSource 配置檔案如下: [html] view plaincopyp

java資料庫連線池配置方法

一,Tomcat配置資料來源: 方式一:在WebRoot下面建資料夾META-INF,裡面建一個檔案context.xml,內容如下:  <Context>       <Resource name="jdbc/test" auth="Container" type="javax.sq

spring配置資料來源方法

1.使用JNDI Spring應用程式通常部署在Java EE應用伺服器中,如WebSphere,JBoss,Tomcat這樣的Web容器。這些伺服器允許配置通過jndi獲取資料來源。 好處: (1)資料來源完全可以在應用程式之外進行管理,應用程式只需在訪

Spring Boot實踐——用外部配置填充Bean屬性的方法

引用:https://blog.csdn.net/qq_17586821/article/details/79802320   spring boot允許我們把配置資訊外部化。由此,我們就可以在不同的環境中使用同一套程式程式碼。可以使用屬性檔案,yaml檔案,環境變數,命令列引數來實現配置資訊的外

Java中spring讀取配置檔案的方法

    在現實工作中,我們常常需要儲存一些系統配置資訊,大家一般都會選擇配置檔案來完成,本文根據筆者工作中用到的讀取配置檔案的方法小小總結一下,主要敘述的是spring讀取配置檔案的方法。     一、讀取xml配置檔案     (一)新建一個java bean

讀取Spring配置檔案applicationContext.xml方法

1).利用ClassPathXmlApplicationContext,這種方式配置檔案應該放在類路徑下,否則Spring將找不到該檔案。 Java程式碼: ApplicationContext ctx=new ClassPathXmlApplicationContext("

spring mvc獲取絕對路徑的方法

col 文件 結果 ret 項目 tps span ppr etc 1.首先如果是在一個controller方法中,則很簡單,直接用下面語句。 1 @RequestMapping("categoryHome") 2 public ModelAndVie

Java Spring Controller 獲取請求參數的方法

交流 str eth req turn let oca form表單 val 技術交流群:233513714 1、直接把表單的參數寫在Controller相應的方法的形參中,適用於get方式提交,不適用於post方式提交。若"Content-Type"="applic

在CentOS7.4中安裝jdk的方法配置環境變量

HR 環境 -o OS 安裝jdk 加載類 軟件包 上傳 jre_home 一、下載jdk jdk下載地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

Spring Controller 獲取請求參數的方法

不存在 orm red ID DDU usermod ping 接收 發生 1、直接把表單的參數寫在Controller相應的方法的形參中,適用於get方式提交,不適用於post方式提交。若"Content-Type"="application/x-www-form-ur

Spring 獲取 request 的方法及其線程安全性分析

就是 base p地址 sco 便是 情況 C4D cookie tex 本文將介紹在Spring MVC開發的Web系統中,獲取request對象的幾種方法,並討論其線程安全性。 一、概述 在使用Spring MVC開發Web系統時,經常需要在處理請求時使用request

伺服器安全升級:ssl證書配置好,設定http跳轉https的方法 伺服器安全升級:ssl證書配置好,設定http跳轉https的方法

轉自https://blog.csdn.net/milli236/article/details/72142066 伺服器安全升級:ssl證書配置好,設定http跳轉https的幾種方法 2017年05月15日 14:17:09 milli236 閱

spring aop的配置方式

一 通過@Aspect註解實現aop service層方法 public interface EventInfoService{    public int getTEventInfoByCount(); } @Service("tEventInfoService"

轉載:(Mac)在bash和zsh配置環境變量path的方法

更改 修改 說明 .profile 興趣 你會 安裝 port 正文 參考文獻 老習慣,列出本文參考或引用或轉載的文檔和博客,致以崇高的敬意,感興趣的可以去看看 1.http://postgresapp.com/ 2.http://postgresapp.com/docum

spring配置資料來源的4方式以及Druid連線池

第一種:使用spring自帶的DriverManagerDataSource(無連線池的作用) <bean id="dataSource" class="org.springframework

Spring基礎(2)——Spring中裝入bean的方法

上一篇文章描述了spring裝配bean的自動化裝配技術 下面主要描述一下spring裝配bean的顯示配置,其中顯示配置有兩種方案,Java配置和XML。 為啥需要有顯示配置的?其實主要是考慮到第三方外掛,我們無法通過標註@Component和@Autowir

Spring配置資料來源的三方式 (dbcp c3p0 jndi)

  [html]  view plain copy   1,使用org.springframework.jdbc.datasource.DriverManage