Mybatis Properties 配置優(yōu)先級詳解
Properties 配置方式
Mybatis提供了三種配置方式:
- properties元素體內(nèi)property子元素
- properties配置文件
- 程序參數(shù)傳遞
配置優(yōu)先級別
- 在properties元素體內(nèi)指定的屬性首先被讀取
- properties配置文件中配置的屬性
- 通過參數(shù)傳遞的方式
因此,通過參數(shù)傳遞的屬性具有最高優(yōu)先級,properties配置文件次之,優(yōu)先級最低的是在properties元素體內(nèi)指定的屬性。
所以在生產(chǎn)中需要注意,最好的辦法是不要混合使用,推薦使用properties配置文件形式。
Mybatis properties屬性
這些屬性都是可外部配置且可動態(tài)替換的
既可以在典型的 Java 屬性文件中配置,亦可通過 properties 元素的子元素來傳遞。
例如:
<span style="font-size:14px;"><properties resource="org/mybatis/example/config.properties"> <property name="username" value="dev_user"/> <property name="password" value="F2Fa3!33TYyg"/> </properties></span>
其中的屬性就可以在整個配置文件中使用來替換需要動態(tài)配置的屬性值。
比如:
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
這個例子中的 username 和 password 將會由 properties 元素中設(shè)置的相應(yīng)值來替換。
driver 和 url 屬性將會由 config.properties 文件中對應(yīng)的值來替換。
這樣就為配置提供了諸多靈活選擇。
如果屬性在不只一個地方進(jìn)行了配置
那么 MyBatis 將按照下面的順序來加載:
- 在 properties 元素體內(nèi)指定的屬性首先被讀取。
- 然后根據(jù) properties 元素中的 resource 屬性讀取類路徑下屬性文件或根據(jù) url 屬性指定的路徑讀取屬性文件,并覆蓋已讀取的同名屬性。
- 最后讀取作為方法參數(shù)傳遞的屬性,并覆蓋已讀取的同名屬性。
因此,通過方法參數(shù)傳遞的屬性具有最高優(yōu)先級,resource/url 屬性中指定的配置文件次之,最低優(yōu)先級的是 properties 屬性中指定的屬性。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot實現(xiàn)數(shù)據(jù)源動態(tài)切換的最佳姿勢
這篇文章主要為大家詳細(xì)介紹一下SpringBoot實現(xiàn)數(shù)據(jù)源動態(tài)切換的最佳姿勢,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-03-03
Java Swing JPasswordField密碼框的實現(xiàn)示例
這篇文章主要介紹了Java Swing JPasswordField密碼框的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12
Spring Boot 2.x 把 Guava 干掉了選擇本地緩存之王 Caffeine(推薦)
這篇文章主要介紹了Spring Boot 2.x 把 Guava 干掉了選擇本地緩存之王 Caffeine,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-01-01
SpringBoot整合jasypt實現(xiàn)敏感信息的加密詳解
一般公司的核心業(yè)務(wù)代碼中,都會存在與數(shù)據(jù)庫、第三方通信的secret key等敏感信息,如果以明文的方式存儲,一旦泄露,那將會給公司帶來巨大的損失。本篇文章通過講解:Springboot集成Jasypt對項目敏感信息進(jìn)行加密,提高系統(tǒng)的安全性2022-09-09
vue?vxe-table?實現(xiàn)財務(wù)記賬憑證的方案
使用?vxe-table?實現(xiàn)財務(wù)記賬憑證非常簡單,實現(xiàn)在線實時編輯的記賬憑證、自動合計金額等,這篇文章主要介紹了vue?vxe-table?實現(xiàn)財務(wù)記賬憑證的方案,需要的朋友可以參考下2024-12-12

