Как получить объект для внутреннего класса связывания - PullRequest
0 голосов
/ 13 ноября 2018

У меня есть класс, который расширяет JerseyServletModule. Этот класс устанавливает модуль

образец класса:

public class SampleJersey extends JerseyServletModule {
  // some bind statements
  install(new FirstModule());
  install(new MyConstrutorClass(/*need MyActualClass object as parameter*/)); // here I need to pass MyActualClass object to the constructor
}

Теперь это FirstModule установка другого модуля.

Ex:

public class FirstModule extends AbstarctModule{
   // some bind operations
   install(new SecondModule());
}

Теперь этот SecondModule связывает другой класс

Ex:

public class SecondModule extends AbstractModule {
  bind(MyActualClass.class).in(Scopes.SINGLETON);
}

У меня есть класс, в котором мне нужно передать MyActualClass объект в качестве аргумента constructor

Ex:

public class MyConstrutorClass{

   @Inject
   MyConstrutorClass(MyActualClass actual){
      // some functionality here
   }
}

1 Ответ

0 голосов
/ 18 ноября 2018

Не похоже, что MyConstrutorClass - это модуль Guice.Модули предоставляют вещи, MyConstrutorClass похоже на то, что вы хотите предоставить.

Теперь вы уже установили SecondModule, что обеспечивает MyActualClass.Это означает, что все зависимости MyConstrutorClass уже предоставлены.Так что больше ничего не нужно делать: просто @Inject MyConstrutorClass и все готово.

...