*這是水~~~~的一篇*
@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...