W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
前面講了很多有關 Bean 的依賴注入?,F(xiàn)在我們來介紹一下 Hasor 的一個特殊依賴注入功能。我們先來舉例一個場景,假定我們有一個類用來封裝數(shù)據(jù)庫連接信息。它的樣子應該類似這樣的:
public class DataBaseBean {
private String jdbcDriver;
private String jdbcURL;
private String user;
private String password;
...
}
通常我們的數(shù)據(jù)配置會保存在 “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>
接下來擺在我們面前的第一個問題就是,如何把配置文件里的配置讀取到配置文件中。當然您可以想下面這樣通過 Setting 配置文件讀取接口進行讀取。
public class DataBaseBean {
@Inject
private Settings settings;//依賴注入 Settings 接口對象。
public void setupConfig(){
jdbcDriver = settings.getString("jdbcSettings.jdbcDriver");
jdbcURL = settings.getString("jdbcSettings.jdbcURL");
user = settings.getString("jdbcSettings.user");
password = settings.getString("jdbcSettings.password");
}
}
上面這樣的代碼雖然可以滿足需求,但是 Hasor 為您提供了更加便捷的方式,您可以直接通過依賴注入,把配置文件中的配置信息直接注入到你的字段上。同樣的例子,我們改一下就變得無比簡潔:
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;
...
}
下面我們在演示一下 @InjectSettings 更強悍的功能,在注入的時自動轉(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號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: