W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
前面講了很多有關(guān) Bean 的依賴注入?,F(xiàn)在我們來(lái)介紹一下 Hasor 的一個(gè)特殊依賴注入功能。我們先來(lái)舉例一個(gè)場(chǎng)景,假定我們有一個(gè)類用來(lái)封裝數(shù)據(jù)庫(kù)連接信息。它的樣子應(yīng)該類似這樣的:
public class DataBaseBean {
private String jdbcDriver;
private String jdbcURL;
private String user;
private String password;
...
}
通常我們的數(shù)據(jù)配置會(huì)保存在 “hasor-config.xml” 的配置文件里,例如這樣:
<?xml version="1.0" encoding="UTF-8"?>
<config xmlns="http://project.hasor.net/hasor/schema/main">
<jdbcSettings>
<jdbcDriver>com.mysql.jdbc.Driver</jdbcDriver>
<jdbcURL>jdbc:mysql://127.0.0.1:3306/test</jdbcURL>
<userName>sa</userName>
<userPassword></userPassword>
</jdbcSettings>
</config>
接下來(lái)擺在我們面前的第一個(gè)問題就是,如何把配置文件里的配置讀取到配置文件中。當(dāng)然您可以想下面這樣通過 Setting 配置文件讀取接口進(jìn)行讀取。
public class DataBaseBean {
@Inject
private Settings settings;//依賴注入 Settings 接口對(duì)象。
public void setupConfig(){
jdbcDriver = settings.getString("jdbcSettings.jdbcDriver");
jdbcURL = settings.getString("jdbcSettings.jdbcURL");
user = settings.getString("jdbcSettings.user");
password = settings.getString("jdbcSettings.password");
}
}
上面這樣的代碼雖然可以滿足需求,但是 Hasor 為您提供了更加便捷的方式,您可以直接通過依賴注入,把配置文件中的配置信息直接注入到你的字段上。同樣的例子,我們改一下就變得無(wú)比簡(jiǎn)潔:
public class DataBaseBean {
@InjectSettings("jdbcSettings.jdbcDriver")
private String jdbcDriver;
@InjectSettings("jdbcSettings.jdbcURL")
private String jdbcURL;
@InjectSettings("jdbcSettings.user")
private String user;
@InjectSettings("jdbcSettings.password")
private String password;
...
}
下面我們?cè)谘菔疽幌?@InjectSettings 更強(qiáng)悍的功能,在注入的時(shí)自動(dòng)轉(zhuǎn)換類型。
public class TestBean {
@InjectSettings("userInfo.myAge")
private int myAge;
}
<?xml version="1.0" encoding="UTF-8"?>
<config xmlns="http://project.hasor.net/hasor/schema/main">
<userInfo>
<myAge>31</myAge>
</userInfo>
</config>
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: