我正在制作一个快速样本以适应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);
}
但是我将不同的对象记录到标准输出中。
有什么想法吗?
最佳答案
尝试:
@Module
public class SingletonModule {
private SingletonClass sing = new SingletonClass();
@Provides
@Singleton
SingletonClass provideSingletonClass() {
return sing;
}
}