San*_*nda 16 java singleton dependency-injection guice
在guice中,@ Singleton范围不涉及Singleton模式.
根据"Dhanji"的"依赖注入"一书:
很简单,单例的上下文就是注入器本身.单身的寿命与注射器的寿命有关(如图5.8所示).因此,每个注射器只创建一个单例实例.重要的是要强调最后一点,因为多个喷射器可能存在于同一应用中.在这种情况下,每个注入器将保存单例范围对象的不同实例.

是否可以通过多个模块和多个喷射器共享同一个Singleton实例?
小智 24
您可以使用Injector.createChildInjector:
// bind shared singletons here
Injector parent = Guice.createInjector(new MySharedSingletonsModule());
// create new injectors that share singletons
Injector i1 = parent.createChildInjector(new MyModule1(), new MyModule2());
Injector i2 = parent.createChildInjector(new MyModule3(), new MyModule4());
// now injectors i1 and i2 share all the bindings of parent
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12181 次 |
| 最近记录: |