Dagger2 に慣れるために簡単なサンプルを作成していましたが、ある時点で行き詰まりました。シングルトンにしたいクラスがありますが、Dagger2 は私にさまざまなオブジェクトを与え続けます。
ここに私のソースコードがあります:
シングルトンクラス
public class SingletonClass {
}
SingletonComponent
@Singleton
@Component(modules = { SingletonModule.class })
public interface SingletonComponent {
SingletonClass singleton();
}
シングルトンモジュール
@Module
public class SingletonModule {
@Provides
@Singleton
SingletonClass provideSingletonClass() {
return new SingletonClass();
}
}
主要
public static void main(String[] args) {
SingletonClass comp = DaggerSingletonComponent.create().singleton();
System.out.println("singleton: " + comp);
comp = DaggerSingletonComponent.create().singleton();
System.out.println("singleton: " + comp);
}
しかし、さまざまなオブジェクトが stdout に記録されています。理由はありますか?