У меня есть класс модуля,
class ABCModule extends AbstractModule {
@Override
protected void configure() {
}
@provides
public XyzInterface xyzinterface(AnotherObject anotherObject) {
return XyzInterfaceImpl(anotherObject);
}
@provides
public AnotherObject anotherObject() {
AnotherObject anotherObject = new AnotherObjectBuilder().someConfiguration();
return anotherObject;
}
У меня есть модуль, подобный этому. Теперь у меня нет основного метода для его вызова следующим образом:
Injector injector = Guice.createInjector(new ABCModule());
blah blah = injector.getInstance(blah.class);
Что я могу сделать, чтобы активировать этот класс модуля, что-то вроде инициализации bean-компонента можно сделать так:
<bean id="abcModule" class="ABCModule" >
<constructor-arg index="0" ref="blah blah if any" />
</bean>
или любой другой способ есть?
class XyzInterfaceImpl implements XyzInterface {
AnotherObject anotherObject;
@override
public T getSomething() {
T t = anotherObject.fetchData(...);
return t;
}
}
XyzInterfaceImpl имеет один метод getSomething (), который на самом деле мне нужно использовать, и он использует anotherObject