前言:本文不会介绍Dagger2如何使用,假设大家已经能够在java项目中使用dagger2
今天在kotlin项目中配置了一下dagger2,发现和java中略有不同,写篇文章记录一下。
项目配置
首先,我们需要在gradle file里面配置kapt。如果在java中使用过dagger,肯定知道apt,apt是一个gradle插件,协助Android Studio 处理annotation processors。dagger就是依靠编译时注解生成辅助类,在需要时来get到你需要的object的。kapt就是apt的kotlin版本。
1.需要在build.gradle中加入,放到denpencies section上面就可以
kapt {
generateStubs = true
}
2.加入kotlin plugin
apply plugin: 'kotlin-kapt'
3.加入denpencies
//dagger2
kapt 'com.google.dagger:dagger-compiler:2.5'
implementation 'com.google.dagger:dagger:2.5'
以上,就是需要的配置
配置module和component
先从module开始
新建一个AppModule,这里我们提供两个对象,一个是application context,一个是appManager对象
@Module
class AppModule(private val app: BaseApp) {
@Singleton
@Provides
fun