나는 이렇게 할 수 있었다. 확실하지가 ...
바 좋은 경우 :
public class Bar {
private ObjectGraph objectGraph;
@Inject
Bar(ObjectGraph objectGraph){
this.objectGraph = objectGraph;
}
public ObjectGraph getObjectGraph() {
return objectGraph;
}
}
BarModule :
@Module(
injects = Bar.class,
complete = false
)
public class BarModule {
}
FooModule :
@Module(
includes = BarModule.class,
injects = ObjectGraph.class,
complete = true,
library = true
)
public class FooModule {
private ObjectGraph objectGraph;
public void setObjectGraph(ObjectGraph objectGraph){
this.objectGraph = objectGraph;
}
@Provides @Singleton ObjectGraph providesObjectGraph(){
return null;
}
}
의 EntryPoint :
public class EntryPoint {
public static void main(String[] args){
FooModule fooModule = new FooModule();
ObjectGraph objectGraph = ObjectGraph.create(new BarModule(), fooModule);
fooModule.setObjectGraph(objectGraph);
System.out.println(objectGraph);
Bar bar = objectGraph.get(Bar.class);
ObjectGraph objectGraph1 = bar.getObjectGraph();
System.out.println(objectGraph);
}
}