Dagger2-两个提供相同界面的方法

Dagger2-两个提供相同界面的方法,第1张

Dagger2-两个提供相同界面的方法

我最近在这篇文章中发布了这样一个问题的答案:

Dagger2:使用@Named获取同一对象的多个实例时出错

您需要

@Named("someName")
像这样在模块中使用:

@Modulepublic class ApplicationModule {private Shape rec;private Shape circle;public ApplicationModule() {    rec = new Rectangle();    circle= new Circle ();}@Provides @Named("rect")public Shape provideRectangle() {    return rec ;}@Provides @Named("circle")public Shape provideCircle() {    return circle;}

}

然后,只要您需要注入它们,只需编写

@Inject@Named("rect") Shape objRect;

它很有趣,但是您必须以不同的方式在Kotlin中注入:

@field:[Inject Named("rect")]lateinit var objRect: Shape


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5500706.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-13
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存