2013-11-26 5 views
0

Java Guice에 익숙하며 애플리케이션을 설계하는 데 어려움이 있습니다.
나는 가능한 한 간단하게 내 디자인과 원하는 결과를 설명하려고 노력할 것이다.

나는 Ialgorithm이라는 인터페이스와 그 인터페이스의 3 가지 구현을 가지고 있습니다. IalgorithmA, IalgorithmB, IalgirthmC을 말합니다. 내가 주석을 사용하여 Ialgorithm 인터페이스의 구현의 하나의 인스턴스를 주입 할 수 있도록하려면 지금
클래스 생성자에 다중 인터페이스 구현을 삽입하십시오.

public myClass(Ialgorithm alg) {...} 

:

나는 다음과 같은 생성자 myClass라는 클래스가 내가에서 원하는

// ... intialize an Injector with a Moudle that extents AbstractModule 
myClass a = injecotr.getInstance(key.get(myClass.class,Aannotation.class)); 
myClass b = injecotr.getInstance(key.get(myClass.class,Bannotation.class)); 
myClass c = injecotr.getInstance(key.get(myClass.class,Cannotation.class)); 


내가 웹에서 몇 가지 튜토리얼을 읽을 수 있지만 나는 이것을 달성하기 위해 정확한 방법을 찾을 수 없습니다 : 내 주에 쓸 수 끝. 위의 문제가 해결 될 것입니다 후 또한

, 그리고, 내 질문을 확장 : 사실, 세 번째 구현, IalgirthmC, 기본 생성자를 포함하는 두 개의 다른 구현과 다른 : 생성자는 다음과 같습니다

public IalgorithmC(Ialgorithm,int n) {...} 

Guice가 Ialgorithm 매개 변수를 주입하기를 원하기 때문에 int 매개 변수가 Guice (@Assisted)에 의해 주입되어서는 안되며이 IalgorithmC의 전체 인스턴스를 주입해야합니다. Cannotaion을 사용할 경우 myClass
물론 내부 파라미터 Ialgorithm에 대한 int 매개 변수와 주석의 값을 IalgorithmC에 제공해야합니다.

도움 주셔서 감사합니다.

답변

1

question은 guice의 여러 구현에 대한 하나의 솔루션에 대해 이야기합니다.

관련 문제