懶加載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;