在Dagger中使用没有@Provides的@Singleton

 倔强的石头二虎 发布于 2023-02-09 10:00

注入类的模块的一个小例子Foo:

@Module(complete = false, injects = { Foo.class })
class MyModule { }

class Foo {
    @Inject
    Foo(Bar bar, Baz baz) { }
}

(假设BarBaz由不同的模块中提供)

我现在想Foo成为一个单身人士.

我可以添加一个@Provides方法并用@Singleton... 注释它

@Module(complete = false, injects = { Foo.class })
class MyModule {
    @Provides @Singleton Foo provideFoo(Bar bar, Baz baz) {
        return new Foo(bar, baz);
    }
}

...但是我必须自己编写构造函数调用,这会破坏使用注入框架的目的.有没有更短的方法来实现这一目标?

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有