Инициализация классного модуля - PullRequest
0 голосов
/ 11 апреля 2020

У меня есть класс модуля,

    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

...