學個Spring吧 3 多資料來源配置

2021-10-06 12:59:14 字數 2159 閱讀 2552

*這是水~~~~的一篇*

@bean在@configuration 類下使用, 註解可以作用於方法上,產生乙個bean物件,然後這個bean物件交給spring管理。產生這個bean物件的方法spring只會呼叫一次,隨後這個spring將會將這個bean物件放在自己的ioc容器中, 建立的bean物件名字預設為方法名,當然也可以通過@bean(name=」」)來指定bean物件名稱

參考資料:

@ configurationproperties(「字首」)

將外部檔案(比如.properties檔案)的屬性值配置到對應的類中,使用要求如下:

• 字首定義了哪些外部屬性將繫結到類的字段上

• 根據 spring boot 寬鬆的繫結規則,類的屬性名稱必須與外部屬性的名稱匹配

• 我們可以簡單地用乙個值初始化乙個欄位來定義乙個預設值

• 類本身可以是包私有的

• 類的字段必須有公共 setter 方法

參考資料:

最後,貼上多資料來源配置的**:(

exclude =

)@slf4j

public

class

@bean

@configurationproperties

("foo.datasource"

)public datasourceproperties foodatasourceproperties()

@bean

public datasource foodatasource()

", datasourceproperties.

geturl()

);return datasourceproperties.

initializedatasourcebuilder()

.build()

;}@bean

@resource

public platformtransactionmanager footxmanager

(datasource foodatasource)

@bean

(name =

"bardatasourceproperties1"

)@configurationproperties

("bar.datasource"

)public datasourceproperties bardatasourceproperties()

@bean

@resource

public datasource bardatasource

(datasourceproperties bardatasourceproperties1)

", bardatasourceproperties1.

geturl()

);datasource datasource = bardatasourceproperties1.

initializedatasourcebuilder()

.build()

; log.

info

("bar datasource:{}"

, datasource)

;return datasource;

}@bean

@resource

public platformtransactionmanager bartxmanager

(datasource bardatasource)

}

foo.datasource.url=jdbc:h2:mem:foo

foo.datasource.username=sa

foo.datasource.password=

bar.datasource.url=jdbc:h2:mem:bar

bar.datasource.username=sa

bar.datasource.password=

啟動spring,可以清晰地看到兩個資料來源的啟動過程:

額… 光明正大偷個懶… 這篇就這麼水過去吧~~~~~~~~~~~~~~~~

啊~ 大海~ 都是水

spring 多資料來源

之前嘗試的乙個多資料來源切換的功能測試可以實現了,下面進行一下簡單的筆記 testservice 方法通過以下方式進行主動切換 dynamicdatasource 類 package com.utils import org.springframework.jdbc.datasource.looku...

paoding rose jade多資料來源配置

官網文件沒有相關的說明,所以費了些勁,但是確實很簡單,發出來,希望能幫助到有需要的人 class org.springframework.jdbc.datasource.drivermanagerdatasource name driverclassname value com.mysql.jdbc...

spring多資料來源配置

前段時間由於公司專案需求,需要多資料來源的支援,苦b折騰了兩天程式猿,話不多說,直接擼碼。classpath jdbc.properties select 1 true select 1 true org.hibernate.dialect.mysqldialect false update tru...