Ich bin neu in Guice und versuchen, Dependency Injection in meinem unten Familie von Klassen, wie unten zu erreichen:Guice Injektion nicht irgendwo in Injektion Hierarchie
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);
}
}
Allerdings gibt es einige Problem ist aufgrund der meine Anfrage nicht gelingt .
Wenn ich nur die zwei injects in Manager mit neuen wie folgt ersetzen, funktioniert es gut.
IDAO dao = new DAO();
IConverter converter = new Converter();
Könnten Sie mir bitte helfen in Spek mir das Problem und auch wissen, wie Sie Dependency Injection Probleme in Guice im Allgemeinen debuggen?
Sowohl dao als auch converter innerhalb des Managers sind null, was zu NullPointerException führt. Irgendeine Idee warum funktioniert @Inject hier nicht? – abhishek08aug