如果构造中有参数的情况将如何做呢,此时我们就需要Moduel为我们提供参数了
1.创建有参构造的DaggerBean
Dagger2学习笔记2
2.MainModuel中使用构造方法将参数传入
Dagger2学习笔记2
3.MainActivity中使用多了一个mainModule(new MainModule("name"))
DaggerMainComponent.builder().mainModule(new MainModule("name")).build().inject(this);
Dagger2学习笔记2
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
上面是通过构造传入
同时也可以用Provider直接提供,通过构造直接注入
Dagger2学习笔记2
Dagger2学习笔记2
MainActivity使用DaggerMainComponent.builder().build().inject(this);
但是如果是这种情况,构造方法中有俩个相同类型的参数,如果使用@Providers就会报错
Dagger2学习笔记2Dagger2学习笔记2
此时,需要使用到宁外一个注解@Qualifier,他是Dagger2提供给我们的用于区分相同类型的参数注入的,使用方式
Dagger2学习笔记2
Dagger2学习笔记2
Dagger2学习笔记2
此时就可以使用了


相关文章: