注解说明
@Module :告知hilt如何提供被注解类的实例
@InstallIn(Component::class) : 告知hilt模块用在哪个类中
@Binds : 注入函数(接口无法通过构造函数实例化),接口添加这个注解告知hilt
- 根据函数返回类型提供哪个接口实例,
- 根据函数参数提供对应实例
@Provides: 注入函数,类不能被构造函数实例化(来自第三方库或必须通过构造函数创建实例),只能通过提供函数的方 式来获取一个实例化结果
hilt会从带注解的函数得到信息:
- 根据函数返回类型提供对应实例
- 根据函数参数提供对应实例
- 函数主体得到需要的依赖项实例