草庐IT

java - Dagger 2 : When to use constructor injections and when to use field injections?

我有点懒惰,过去几乎完全使用现场注入(inject)。我只是提供了空的构造函数,把我的@Inject字段放在我的一切看起来很漂亮和简单。然而,字段注入(inject)有其权衡,因此我设计了一些简单的规则来帮助我决定何时使用字段以及何时使用构造函数注入(inject)。如果我的逻辑有错误或您有其他考虑要添加,我将不胜感激。首先要澄清一下,以便在同一页面上:构造函数注入(inject):@InjectpublicSomeClass(@Named("appversion")StringappVersion,AppPrefsappPrefs){...与字段注入(inject)相同:public

java - Dagger 2 : When to use constructor injections and when to use field injections?

我有点懒惰,过去几乎完全使用现场注入(inject)。我只是提供了空的构造函数,把我的@Inject字段放在我的一切看起来很漂亮和简单。然而,字段注入(inject)有其权衡,因此我设计了一些简单的规则来帮助我决定何时使用字段以及何时使用构造函数注入(inject)。如果我的逻辑有错误或您有其他考虑要添加,我将不胜感激。首先要澄清一下,以便在同一页面上:构造函数注入(inject):@InjectpublicSomeClass(@Named("appversion")StringappVersion,AppPrefsappPrefs){...与字段注入(inject)相同:public

java - 非 Activity Java 类中的 Dagger 2 注入(inject)

我正在尝试将Dagger2用于DI,它对于存在onCreate生命周期事件的Activity/Fragment相关类非常有效。现在我有一个想要注入(inject)的普通Java类。任何关于如何去做的想法都将不胜感激。我的代码如下所示:BasicMoviesUsecaseComponent.java-@PerActivity@Component(dependencies=AppComponent.class,modules=BasicMoviesUsecasesModule.class)publicinterfaceBasicMoviesUsecasesComponent{voidinj

java - 非 Activity Java 类中的 Dagger 2 注入(inject)

我正在尝试将Dagger2用于DI,它对于存在onCreate生命周期事件的Activity/Fragment相关类非常有效。现在我有一个想要注入(inject)的普通Java类。任何关于如何去做的想法都将不胜感激。我的代码如下所示:BasicMoviesUsecaseComponent.java-@PerActivity@Component(dependencies=AppComponent.class,modules=BasicMoviesUsecasesModule.class)publicinterfaceBasicMoviesUsecasesComponent{voidinj

Java依赖注入(inject): Dagger 1 vs Dagger 2,哪个更好?

Dagger2有什么优势?超过Dagger1?到目前为止,我发现(仅)2个:Dagger2允许您使用proguard进行代码混淆Dagger2速度更快(将它用于android应用程序并没有太大优势,但如果将它用于某种服务器,这无疑是一件重要的事情)与此同时,我发现了一个很大的缺点:在Dagger2中不能有模块覆盖(@Module(overrides=true)),这至少对我来说很烦人-它非常对单元测试很有用。还有其他优点/缺点吗? 最佳答案 取自https://blog.gouline.net/2015/05/04/dagger-2

Java依赖注入(inject): Dagger 1 vs Dagger 2,哪个更好?

Dagger2有什么优势?超过Dagger1?到目前为止,我发现(仅)2个:Dagger2允许您使用proguard进行代码混淆Dagger2速度更快(将它用于android应用程序并没有太大优势,但如果将它用于某种服务器,这无疑是一件重要的事情)与此同时,我发现了一个很大的缺点:在Dagger2中不能有模块覆盖(@Module(overrides=true)),这至少对我来说很烦人-它非常对单元测试很有用。还有其他优点/缺点吗? 最佳答案 取自https://blog.gouline.net/2015/05/04/dagger-2

java - 具有相同返回类型的@Named 提供者最终给出 java.lang.IllegalArgumentException : Duplicate

问题来了,我正在开发一个LibGDX项目,其中我有不同的模块用于不同的平台。这就是我的android模块的样子:@Module(includes={BaseModule.class,NetModule.class},injects={DummyProjectActivity.class,DummyProject.class},overrides=true)publicclassDummyProjectAndroidModule{...@Provides@Singleton@Named("DummyOne")DummyInterfaceprovideDummyOne(){returnne

java - 具有相同返回类型的@Named 提供者最终给出 java.lang.IllegalArgumentException : Duplicate

问题来了,我正在开发一个LibGDX项目,其中我有不同的模块用于不同的平台。这就是我的android模块的样子:@Module(includes={BaseModule.class,NetModule.class},injects={DummyProjectActivity.class,DummyProject.class},overrides=true)publicclassDummyProjectAndroidModule{...@Provides@Singleton@Named("DummyOne")DummyInterfaceprovideDummyOne(){returnne

java - Dagger 2 - 两个提供相同接口(interface)的方法

假设我有:publicinterfaceShape{}publicclassRectangleimplementsShape{}publicclassCircleimplementsShape{}我有一个ApplicationModule需要为Rec和Circle提供实例:@ModulepublicclassApplicationModule{privateShaperec;privateShapecircle;publicApplicationModule(){rec=newRectangle();circle=newCircle();}@ProvidespublicShapepro

java - Dagger 2 - 两个提供相同接口(interface)的方法

假设我有:publicinterfaceShape{}publicclassRectangleimplementsShape{}publicclassCircleimplementsShape{}我有一个ApplicationModule需要为Rec和Circle提供实例:@ModulepublicclassApplicationModule{privateShaperec;privateShapecircle;publicApplicationModule(){rec=newRectangle();circle=newCircle();}@ProvidespublicShapepro