我只是没有得到这个:
我在我的 java GWT 应用程序中使用 Gin 来做 DI。登录屏幕集成到完整的应用程序窗口中。用户登录后,我想将用户对象注入其他类,如我创建的 GUI Presenters,所以我相信我有某种运行时依赖。我怎么做?
我能想到的一种解决方案是:
class Presenter {
@Inject
Presenter(LoggedInUserFactory userFactory) {
User user = userFactory.getLoggedInUser();
}
}
class LoggedInUserFactoryImpl {
public static User user;
User getLoggedInUser() {
return user;
}
}
因此,当用户成功登录并且我有对象时,我在其中设置了静态属性LoggedInUserFactory
,但这仅Presenter
在用户登录后创建的情况下才有效,而事实并非如此。
或者我应该使用全局静态注册表?我只是不喜欢在我的类中有静态依赖项的想法。
非常感谢任何输入。