android - 强制 Dagger 2 创建注入字段的实例
问题描述
我有一个关于 Dagger 2 的问题。是否可以强制 dagger 在不调用组件及其构建器的情况下创建注入字段的实例?
例如,如果我们有这样的提供者:
@provider ClassA getClassA();
然后在其他类中我可以直接使用它:
Class ClassB{
//May be I can do something here to force dagger to create an instance of ClassA
@inject ClassA classA;
void doSth(){
classA.prop1 ...
}
}
注意:我无权访问 ClassB 中的 dagger 组件!
解决方案
如果将构造函数标记为@Inject
并从组件中获取 ClassB,则这是自动的。
class ClassB{
@Inject
ClassB() {
}
@Inject ClassA classA;
void doSth(){
classA.prop1 ...
}
}
推荐阅读
- regex - 为 ID 创建正则表达式验证器,例如“
- -ID” - go - 如何从这种类型的 json 响应中获取数据?
- python - 在 Python 中,有没有办法从 URL 中捕获以下 YYYYMMDD-N
- javascript - 接受带有组件的参数作为反应中的函数(快速修复)
- amazon-web-services - 用于限制同时登录的 Aws Lambda 身份验证后触发函数
- android - Android gradle 抱怨对象库有多个输出
- grpc - 发送大数据时我应该在 grpc 中压缩吗
- javascript - 如何防止 React 子组件重新渲染?
- google-apps-script - 如何使用 Apps 脚本在 Google 表格中记录历史数据
- laravel - How to update one to many polymorphic relationship?