作者:蜜蜜鱼鱼_270 | 来源:互联网 | 2023-09-07 16:10
懒加载Lazy和强制重新加载Provider
@Inject
Lazy lazyStudent;
@Inject
Provider 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@ProvidesRestApiStore provideApiStore(){return new RestApiStore();}@A@IntoSet@ProvidesStudent provideStudentA(){return new Student("A");}
}
将子Set注入到Set:
@Module()
public class MainActivityModule {&#64;Provides&#64;ElementsIntoSetpublic Set provideStudentSet() {Set set &#61; new HashSet<>();set.add(new BananaBean("cc"));set.add(new BananaBean("dd"));return set;}
}
activity中注入
&#64;Inject
Set stu;