優化spring的配置檔案的配置讀取方式

2021-07-22 04:46:42 字數 1514 閱讀 8876

在開發過程我們經常需要用到各種各樣的配置檔案,用spring讀取配置檔案的方式網程式設計師設定一些值是一種比較方便、可擴充套件性比較好的方法。

但是我們經常會遇到這樣乙個問題,例如同乙個dao的配置檔案,可能因為在測試環境,預發布環境,正式環境都需要連線不同的資料庫,因此每發布一次就需要修改一次配置,這是比較麻煩的!特別在配置檔案比較多的情況下,容易忘記!那麼怎麼辦呢?其實只要將配置檔案放在絕對路徑下就好了。這樣只要第一次發布之後,配置檔案不隨著專案原始碼的改變而改變,因為每次讀取的都是固定路徑的配置,這樣各種配置檔案是統一維護的,也方便管理。

這樣會帶來的乙個問題就是,因為開發小組成員之間所用的電腦作業系統可能是不同的,window的檔案路徑是linux、mac等都是不一樣的,window需要c:\\xx,而其他作業系統確實xx/xx這樣的形式。所以在讀取需要在程式上面稍微變動一下,在讀取window系統的時候預設從乙個盤載入配置檔案。

好了,來看看具體怎麼做的吧。。自定義乙個類用於讀取配置檔案,繼承propertiesfactorybean,並且重寫其方法!

/**

* location改為paths

*/protected string paths;

public void setpaths(string paths)

public void setfileencoding(string fileencoding)

protected void loadproperties(properties props) throws ioexception

// 如果是window系統,預設在路徑前面加乙個c:,從c盤開始讀取檔案

string os = system.getproperty("os.name");

if(os.tolowercase().contains("window"))

filesystemresource filesystemresource = new filesystemresource(path);

try catch (ioexception var9)

if(this.logger.iswarnenabled()) }}

}}

void fillproperties(properties props, encodedresource resource, propertiespersister persister) throws ioexception else if(resource.requiresreader()) else

} finally

if(reader != null)

}}

下面就可以用了,在xml檔案這樣配置就行啦:

/data/config/database.properties

其他時候的用法同spring原生配置一樣,這裡只是改了一下,讓他從絕對路徑載入配置檔案,並且處理了一下不同操作路徑不統一的問題

Spring配置檔案的

關於spring配置一直是乙個讓人頭痛的問題,因此,在這裡對spring的配置進行了乙個詳細的整理,以便於能夠幫助讀者配置spring web.xml配置 context dao.xml檔案配置 context jdbc.xml檔案配置 context service.xml檔案配置 jdbc.pr...

spring的配置檔案

目錄 一 spring檔案配置 二 spring整合mybatis的配置檔案 三 springmvc配置檔案的整合 四 新增事務 1.web.xml檔案中配置過程 a.配置上下文引數路徑 web.xml contextconfiglocation b.配置核心 目的是初始化時就建立乙個ioc容器供全...

Spring的配置檔案

spring配置檔案是用來指導spring工廠進行bean生產,依賴注入 裝配 及bean例項分發的 圖紙 如果沒有id,沒有name,依然可以獲取這個物件,但是需要實用類的class物件獲取 user bean context.getbean user.class name 就是bean的物件的i...