小编Cyp*_*ext的帖子

Dagger:在提供的pojo上注入字段

目前使用dagger进行测试,我想要做的是实例化并注入不同的Bar实现.如何在提供的字段中注入字段?例如:

模块:

@Module(
        injects = {
                Main.class
        },
        complete = false,
        library = true
)
public class ExampleTestModule {
    @Provides
    public Foo providesFoo() {
        return new Foo();
    }
    @Provides
    public Bar providesBar(BarImpl impl) {
        // return new BarImpl(); // null
        return impl;
    }
}
Run Code Online (Sandbox Code Playgroud)

主要:

public class Main {
    @Inject
    Foo foo;
}
Run Code Online (Sandbox Code Playgroud)

富:

public class Foo {
    @Inject
    Bar bar;
}
Run Code Online (Sandbox Code Playgroud)

酒吧:

public interface Bar {

}
Run Code Online (Sandbox Code Playgroud)

BarImpl

public class BarImpl implements Bar {
}
Run Code Online (Sandbox Code Playgroud)

测试用例:

public class ApplicationTest …
Run Code Online (Sandbox Code Playgroud)

java android dependency-injection dagger

4
推荐指数
1
解决办法
2219
查看次数

标签 统计

android ×1

dagger ×1

dependency-injection ×1

java ×1