Gwt 自定义gin托管对象的创建或创建同一类的两个不同实例

Gwt 自定义gin托管对象的创建或创建同一类的两个不同实例,gwt,guice,gwt-gin,Gwt,Guice,Gwt Gin,我希望能够创建同一类的两个实例,并将它们注入不同的属性,然后将这两个对象注入到应用程序中的两个特定位置 目前我的ClientModule中有一个方法 @Provides @Named("bean1") public MainBean getMainBean() { MainBean mainBean = new MainBean(new SecondaryBean()); return mainBean; } 然后在我的演示者等中

我希望能够创建同一类的两个实例,并将它们注入不同的属性,然后将这两个对象注入到应用程序中的两个特定位置

目前我的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方法中,但我想知道是否还有其他更优雅或更好的解决方案


有人有什么想法吗?

我遇到了同样的问题。 您要寻找的是,在实例化对象时,一些构造函数参数被注入,一些作为参数传递

你可以找到一个完整的例子,帮助我开始学习