为什么 Google Guice 依赖注入框架有两个单例实例

Pie*_*ard 5 java singleton guice

在我的应用程序中有 2 个单例实例,它们都是由 Google Guice 创建的。

这怎么可能?

绑定完成如下:

bind(Foo.class).to(FooImpl.class).in(Scopes.SINGLETON);
Run Code Online (Sandbox Code Playgroud)

Pie*_*ard 4

这里的问题是绑定声明。

我们通过将绑定声明替换为:

bind(FooImpl.class).in(Scopes.SINGLETON);
bind(Foo.class).to(FooImpl.class); 
Run Code Online (Sandbox Code Playgroud)