java如何在Guice中配置链式依赖关系?
我是Guice的新手,对Guice中的链式依赖注入有疑问
我的问题是:A班什么时候取决于B班;B类又取决于C类
如何在Guice中使用@Inject和@Provides注释来配置这些依赖关系
插图:
假设C类看起来像:
class C {
public int x;
}
假设B类是这样的:
class B {
private C c;
@Inject // Line 1
public B(C c) {
this.c = c
}
}
A级是这样的:
class A {
private B b;
@Inject
public A(B b) {
this.b = b;
}
}
依赖项绑定器模块如下所示:
class ProviderModule extends AbstractModule {
@Provides
public C provideInstanceOfC() {
return new C();
}
@Provides
public B provideInstanceOfB(C c) {
return new B(c); // Line 2
}
}
问题1:这是使用Guice定义这种链式依赖关系的正确方法吗
问题2:第1行是否需要@Inject注释(请参见注释),因为我已经在第2行中以return new B(c);
的形式传递了一个C实例(请参见注释)
共 (0) 个答案