次の注釈が付けられたモジュールにプロバイダーメソッドがあります@Provides
。
@Provides
public ChatServicePerformanceMonitor getChatServicePerfMon() {
...
}
と注釈を付けChatServicePerformanceMonitor
ました@Singleton
。このインスタンスを使用する私のコードでは、使用しているフレームワークが囲んでいるクラスを構築しているため、Guice を「受動的に」注入することはできません (Guice を使用しないため、これが私が知っている唯一の方法です)の参照を取得する):
chatServicePerfMon = injector.getInstance(ChatServicePerformanceMonitor.class);
Guice は私のクラスの@Singleton
注釈を尊重していないようです。ChatServicePerformanceMonitor
私は、injector.getInstance(ChatServicePerformanceMonitor.class) への呼び出しごとにインスタンスを取得します。
@Singleton
をプロバイダーメソッドに追加すると、これが修正されるようです:
@Provides @Singleton
public ChatServicePerformanceMonitor getChatServicePerfMon() {
...
}
それは期待される動作ですか?インスタンス上で必要なもの@Singleton
はすべてあるはずです。