Избегайте @Named в Guice - PullRequest
       6

Избегайте @Named в Guice

0 голосов
/ 04 января 2019

У меня есть класс следующим образом

public class A{

@Inject
public A(@Named("s1")String s1)()

}

Точно так же у меня есть другие классы, которые принимают строку в качестве параметра конструктора

Настроить конфигурацию:

 bindConstant().annotatedWith(Names.named("s1")).to("s1);
 bind(A.class) 

Что я хочуэто удалить @Named("s1") из класса А. и позволить вызывающей стороне передать его во время выполнения.

@Provides
@Singleton
public A getA(){
  return new A("aks"); 
}

Я хочу достичь вышеуказанного без использования провайдера, как мне это сделать?Есть ли способ, которым я могу сказать, создать объект и использовать в качестве одного из параметров?

...