使Guice喷射器单例保持一致
|
我想知道通常如何使用喷油器。我了解它主要在启动时使用,但是您如何在运行时使用它来创建某个实现的对象?
例如,我有一个用户界面,其中包含用户A,用户B和用户C的实现。我在运行时使用Guice的想法是将其包装在Singleton类中,这样我就可以检索它,而不是每次要创建User对象的实例时都创建一个新的注射器。
//Create in singleton wrapper class
Injector injector = Guice.createInjector(new SecurityModule());
//Retrieve and use at run-time (Manager is the singleton wrapper class)
Injector injector = Manager.getInstance().getInjector();
User user = injector.getInstance(User.class);
这是通常的做法吗?基本上,我想确保集中所有配置,以减少错误(例如,使用错误的模块)。它也更易于管理,因此,如果我决定使用其他配置模块,则可以在一个类中进行更改,而不是在使用它的每个Java类中进行更改。
谢谢,
插口
没有找到相关结果
已邀请:
2 个回复
倪蕊悲潍
的新实例,则只需注入
并在需要时对其调用
。
栖很钾是狠
所以你可以做
,并且不必使用Guice的Injector,从而使您可以更改Dependency Injection框架,而无需更改应用程序代码。