W3Cschool
恭喜您成為首批注冊用戶
獲得88經驗值獎勵
除了上面這種方式直接注入一個對象之外,Hasor 還支持注入一個接口。讓我們改進一下上面的例子加以解釋說明。首先 PojoBean 是一個接口,那么 InfoBean 在注入的時就是要注入一個接口,例如下面:
public class InfoBean {
@Inject
private PojoBean pojo;
}
public interface PojoBean {
...
}
這種情況下如果使用 @Inject 注入一個接口,框架會因為找不到具體的實現類而導致注入失敗,因此在這種情況下我們要在接口上標記上 @ImplBy 注解,這個注解會告訴框架這個接口的實現類是哪個,例如下面這樣:
public class InfoBean {
@Inject
private PojoBean pojo;
}
@ImplBy(PojoBeanImpl.class)
public interface PojoBean {
...
}
public class PojoBeanImpl implements PojoBean {
...
}
如果您不想使用 @ImplBy Hasor 還允許你在 install 階段自己手動設置 PojoBean 接口的實現類,為了實現目標我們必須要在 Module 的 loadModule 方法中使用下面這樣的代碼來指定接口和實現類的關系:
apiBinder.bindType(PojoBean.class).to(PojoBeanImpl.class);
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: