99re热视频这里只精品,久久久天堂国产精品女人,国产av一区二区三区,久久久精品成人免费看片,99久久精品免费看国产一区二区三区

Hasor 接口注入

2018-10-05 10:55 更新

除了上面這種方式直接注入一個對象之外,Hasor 還支持注入一個接口。讓我們改進(jìn)一下上面的例子加以解釋說明。首先 PojoBean 是一個接口,那么 InfoBean 在注入的時就是要注入一個接口,例如下面:

public class InfoBean {
    @Inject
    private PojoBean pojo;
}

public interface PojoBean {
    ...
}


這種情況下如果使用 @Inject 注入一個接口,框架會因為找不到具體的實(shí)現(xiàn)類而導(dǎo)致注入失敗,因此在這種情況下我們要在接口上標(biāo)記上 @ImplBy 注解,這個注解會告訴框架這個接口的實(shí)現(xiàn)類是哪個,例如下面這樣:

public class InfoBean {
    @Inject
    private PojoBean pojo;
}

@ImplBy(PojoBeanImpl.class)
public interface PojoBean {
    ...
}

public class PojoBeanImpl implements PojoBean {
    ...
}


如果您不想使用 @ImplBy Hasor 還允許你在 install 階段自己手動設(shè)置 PojoBean 接口的實(shí)現(xiàn)類,為了實(shí)現(xiàn)目標(biāo)我們必須要在 Module 的 loadModule 方法中使用下面這樣的代碼來指定接口和實(shí)現(xiàn)類的關(guān)系:

apiBinder.bindType(PojoBean.class).to(PojoBeanImpl.class);


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號