Hasor 不光小巧還很精良,這一片文章咱們來說一講 「模版化配置文件」。css
首先在瞭解模版化配置文件以前先看一下咱們的實際開發中的問題。如今假設你有一個小團隊,你們分別開發同一個項目的不一樣功能。一般狀況下咱們會爲項目劃分幾個大模塊,而後爲每一個模塊創建一個本身的配置文件。或者乾脆全部項目的配置都放到一個配置文件中。mysql
在這些配置信息中通常會包涵例如:文件上傳路、數據庫鏈接、遠程接口服務器地址 這些配置,這些配置一般在不一樣的環境下有着不一樣的配置值,例如:平常、測試、預發、生產。sql
而有些項目稍微改一下配置就回面部全非變成另一個系統,這些配置也是跟隨時機部署狀況靈活改變的。數據庫
若是你開發的是更大一點的網站,css、文件上傳中心、圖片服務器、等等都會獨立出來。當你開發完應用程序,光是在生產環境替換這些配置信息就夠你忙活一陣子了。更況且若是項目分了模塊,要替換的配置文件還會更多。bash
「模版化配置文件」 的提出是爲了解決這個問題。服務器
下面咱們以 數據庫鏈接配置爲例:測試
<config xmlns="http://project.hasor.net/hasor/schema/main"> ... <jdbcSettings> <jdbcDriver>com.mysql.jdbc.Driver</jdbcDriver> <jdbcURL>jdbc:mysql://${jdbc.database_host}:3306/${jdbc.database_name}?useUnicode=true&characterEncoding=utf-8</jdbcURL> <userName>${jdbc.user}</userName> <userPassword>${jdbc.password}</userPassword> </jdbcSettings> ... </config>
在上面這個配置中咱們能夠看到這樣的結構「${xxxxx}」 。在 Hasor 的配置文件中,這段花括號括起來的表示的是環境變量名稱。在上面這單代碼中能夠看到一共有 4 個環境變量配置。網站
${jdbc.database_host} ${jdbc.database_name} ${jdbc.user} ${jdbc.password}
接下來咱們在 classpath 目錄下新建一個名爲 「env.config」 的文本文件。而後把上面四個配置項保存到這裏。Hasor 在啓動的時候會加載 「env.config」 的配置信息,而後 Hasor 會使用這個配置信息替換配置文件中的相應配置信息。spa
jdbc.database_host = ... jdbc.database_name = ... jdbc.user = ... jdbc.password = ...
env.config 文件除了放置到 classpath 目錄下還能夠放到 WORK_HOME 環境變量表示的目錄下也能夠。若是放到 WORK_HOME 下面,您的應用程序包都不須要有任何修改了。.net