springboot v2 0 3版本多資料來源配置

2021-09-07 20:26:04 字數 2603 閱讀 4121

本篇分享的是springboot多資料來源配置,在從springboot v1.5版本公升級到v2.0.3時,發現之前寫的多資料來源的方式不可用了,捕獲錯誤資訊如:

異常:jdbcurl is required with driverclassname.
先來說下之前的多資料來源配置如:

1

spring:

2datasource:

3 url: jdbc:sqlserver://

192.168.122.111;databasename=flight

4username: sa

5 password: 1234

.abcd

6 driver-class-name: com.microsoft.sqlserver.jdbc.sqlserverdriver

7seconddatasource:

8 url: jdbc:sqlserver://

192.168.122.111;databasename=flight2

9username: sa

10 password: 1234

.abcd

11 driver-class-name: com.microsoft.sqlserver.jdbc.sqlserverdriver

配置了兩個資料庫,在原來預設的datasource節點下面增加了seconddatasource節點的配置,然後主要的**如:

1

@primary

2@bean

3 @configurationproperties(prefix = "

spring.seconddatasource")

4public

datasource datasource()

78 @bean(name = "

secoddatasource")

9 @configurationproperties(prefix = "

spring.seconddatasource")

10public

datasource secoddatasource()

1314

@primary

15@bean

16public

jdbctemplate jdbctemplate(datasource datasource)

1920 @bean(name = "

secondjdbctemplate")

21public jdbctemplate secondjdbctemplate(@qualifier(value = "

secoddatasource

") datasource datasource)

driverclassname.很顯然配置節點不能使用導致的,配置節點名字變了,要解決這問題這裡使用了託管datasourceproperties的方式來對資料配置從新賦值,具體**如:

1

@bean

2@primary

3 @configurationproperties(prefix = "

spring.datasource")

4public

datasourceproperties datasourceproperties()

78 @bean("

secondproperties")

9 @configurationproperties(prefix = "

spring.seconddatasource")

10public

datasourceproperties secondproperties()

1314

@primary

15@bean

16public

datasource datasource(datasourceproperties datasourceproperties)

1920 @bean(name = "

secoddatasource")

21public datasource secoddatasource(@qualifier(value = "

secondproperties

") datasourceproperties datasourceproperties)

能夠看出多了一級datasourceproperties的建立,此時能夠執行出結果如:

除了編碼的這種方式也可以採用上面說的既然是配置找不到,那配置肯定是改名了,根據錯誤提示我們不放把url改名未jdbc-url,具體如下:

此刻我們再來執行,同樣的也能出來資料;兩種方式處理v2.03版本資料來源問題:

通過資料來源配置節點名變動的問題,引發了springboot在公升級迭代的過程中一些細微的變動,這或許會給我們在學習和公升級過程中造成麻煩,所以官網每次公升級的內容說明還是有必要看下的。

個人發展 2 0

現在是到處都在喊 2.0 的口號,剝去繁華的外表,很多還是值得我們去思考。有幸參加了csdn主辦的sd 2.0大會,每個主題都想聽聽,可嘆分身乏術。聽著聽著也會陷入自己的思考,如此百家爭鳴,百花齊放 才會是自己的方向呢?仔細看一遍所有的講師 除去個別年輕有為的後生外,多半是些老傢伙,我這次特地挑了平...

定時傳送20

獲取郵件標題。param packinglistnum pl.no 箱單號 return string 郵件標題。private string getmailsubject string packinglistnum 獲取郵件正文。param packinglistnum pl.no 箱單號 ret...

(20)狀態模式

定義 當 個物件內在狀態改變時允許其改變行為,這個物件看起來像改變了其類。型別 行為型模式 類圖 狀態模式結構 state 抽象狀態角色,介面或抽象類,負責物件狀態定義,並且封裝環境角色以實現狀態切換。concretestate 具體狀態角色,每乙個具體狀態必須完成兩個職責 本狀態的行為管理以及趨向...