1
我是新來Guice和努力實現依賴注入在我下面的家庭如下類別:吉斯注入某處失敗的注射層次
class DoSomethingServlet {
@Inject
IProvider provider;
}
interface IProvider {
}
@Singleton
class Provider implements IProvider {
@Inject
@Named("B")
IManager manager;
}
interface IManager {
}
class Manager implements IManager {
@Inject
@Named("B")
IDAO dao;
@Inject
@Named("B")
IConverter converter;
}
interface IDAO {
}
class DAO implements IDAO {
}
interface IConverter {
}
class Converter implements IConverter {
}
import com.google.inject.AbstractModule;
class DoSomethingModule extends AbstractModule {
@Override
protected void configure() {
bind(IProvider.class).to(Provider.class);
bind(IManager.class).annotatedWith(Names.named("B"))
.to(Manager.class);
bind(IDAO.class).annotatedWith(Names.named("B")).to(DAO.class);
bind(IConverter.class).annotatedWith(Names.named("B"))
.to(Converter.class);
}
}
但是有一些問題,由於其我的要求並不成功。
如果我只是用新的如下代替管理器中的兩個注入它工作正常。
IDAO dao = new DAO();
IConverter converter = new Converter();
你能否幫我找出問題,並讓我知道你是如何調試Guice中的依賴注入問題的?
Manager內部的dao和converter都變成了null,導致NullPointerException。任何想法爲什麼@Inject不在這裏工作? – abhishek08aug