懒加载Lazy和强制重新加载Provider
//懒加载
@Inject
Lazy<Person> lazyStudent;
//强制重新加载
@Inject
Provider<Person> providerStudent;
使用的时候用lazyStydent.get();
Student s=lazyStydent.get();
Student s1=providerStudent.get();
lazyPerson 多次get 的是同一个对象,providerPerson多次get,每次get都会尝试创建新的对象。
如果Student被@Scope注解,那么providerPerson在@Scope的作用域下还是单例。
多个元素绑定并注入到Set
将单个元素注入到Set:
@Module
public class MainActivityModule {
@PreActivity
@Provides
RestApiStore provideApiStore(){
return new RestApiStore();
}
@A
@IntoSet
@Provides
Student provideStudentA(){
return new Student("A");
}
}
将子Set注入到Set:
@Module()
public class MainActivityModule {
@Provides
@ElementsIntoSet
public Set<Student> provideStudentSet() {
Set<Student> set = new HashSet<>();
set.add(new BananaBean("cc"));
set.add(new BananaBean("dd"));
return set;
}
}
activity中注入
@Inject
Set<Student> stu;