有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案