W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
在前面小節(jié),我們看到 Hasor 支持注入配置文件的功能,這個(gè)小結(jié)在向您展示一下 Hasor 注入環(huán)境變量的能力。
環(huán)境變量,指的是操作系統(tǒng)層面設(shè)置的環(huán)境變量,例如:JAVA_HOME,還有當(dāng)前登錄用戶的主目錄:USER.HOME。
當(dāng)然這些環(huán)境變量你也可以通過“System.getenv()” 或 “System.getProperties()” 自己拿到。只不過 Hasor 針對環(huán)境變量做了一些增強(qiáng)并加以管理。有關(guān)環(huán)境變量的細(xì)節(jié)在后面環(huán)境變量章節(jié)會(huì)有更加深入的講解,現(xiàn)在我們來看一看,如何讓 Hasor 把 JAVA_HOME 注入到我們的 Bean 中。
public class DataBaseBean {
@InjectSettings("${JAVA_HOME}")
private String javaHome;
}
為了讓大家更加直觀的認(rèn)識到 Hasor 的環(huán)境變量注入不只是簡單的獲取 JAVA_HOME 我們,還是以“注入配置”章節(jié)中的場景為例:
public class DataBaseBean {
private String jdbcDriver;
private String jdbcURL;
private String user;
private String password;
...
}
在上面這個(gè)例子中,我們知道數(shù)據(jù)庫的帳號、密碼、數(shù)據(jù)庫地址。對于我們來說比較敏感,一個(gè)不小心就容易泄露出去。更不要說放到配置文件里,那樣會(huì)跟隨git、svn版本軟件永久保留下來。
為了保密,我們選擇在應(yīng)用程序啟動(dòng)的時(shí)候通過 “-D” 參數(shù)把用戶名、密碼傳遞給程序。然后讓 Hasor 框架為我們把傳入的敏感信息,注入到 DataBaseBean 類中。
public class DataBaseBean {
@InjectSettings("${db.user}")
private String user;
@InjectSettings("${db.pwd}")
private String password;
...
}
public class TestMain {
public static void main(String[] args) throws Throwable {
AppContext appContext = Hasor.createAppContext();
appContext.getInstance(DataBaseBean.class);
}
}
最后我們要通過命令行的方式啟動(dòng)這個(gè)程序:java TestMain -Ddb.user=username -Ddb.pwd=password
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: