동일한 클래스의 두 인스턴스를 작성하고 서로 다른 특성으로 주입 한 다음이 두 오브젝트를 두 클래스로 주입 시키길 원합니다 내 응용 프로그램의 특정 위치. 진 오브젝트 개체 작성 또는 동일한 클래스의 두 개의 다른 인스턴스 작성 사용자 정의
은 현재 내가 ... 내 ClientModule에서 나는 다음과 같은 않는 등 내 발표자의 다음@Provides
@Named("bean1")
public MainBean getMainBean() {
MainBean mainBean = new MainBean(new SecondaryBean());
return mainBean;
}
그리고 방법이 있습니다
public MyPresenter(final EventBus eventBus, final MyView view,
@Named("bean1") MainBean bean, TitleSetupData data) {
super(eventBus, view);
this.bean1 = bean1;
}
을 그리고 그것은 잘 작동합니다. 대응하는 @Named 어노테이션을 기반으로 올바른 bean을 얻는다.
그러나이 접근법은 @Provides 메소드에서 MainBean의 모든 종속성을 작성하고 주입해야한다는 점에서 약점이 있습니다.
예를 들어 SecondaryBean의 @Inject 주석은 적용되지 않습니다.
내가 할 수있는 한 가지는 관련된 종속성을 getMainBean 메소드에 전달하는 것이지만, 더 나은 또 다른 고급 솔루션이 있는지 궁금합니다.
누구나 아이디어가 있습니까?