java - 在没有其他模块提供该实例的情况下提供实例

标签 java guice

我的应用程序使用 Guice 进行依赖注入(inject),由几个模块组成,一些依赖于类 X 的实例,一些需要能够独立于主应用程序运行。 因此,在 MainModule 中,我必须提供 X 类实例,而一些子模块也需要提供该实例,因为它们各自的应用程序需要能够在 MainModule 不提供 X 类实例的情况下运行。这会导致错误因为“已经绑定(bind)了 X 类的一个实例”。

我已经四处寻找了一段时间,但大多数情况下,我发现对 PrivateModules 的引用并没有真正满足我的需要,我还在 OptionalBindings 上找到了很多,据我所知,它们主要提供默认值。

我需要的是某种条件绑定(bind),如“如果另一个模块提供了 X 类的实例,则什么也不做,如果没有其他模块提供 X 类的实例,则提供这个。”

最佳答案

关于java - 在没有其他模块提供该实例的情况下提供实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56983651/

相关文章:

java - Spring 和 Guice : when DI frameworks create proxies?

java - 注入(inject)正在注入(inject)的类

dependency-injection - 何时提供显式绑定(bind)以及何时利用 Guice 上的自动绑定(bind)

java - 使用 Guice 注入(inject)类集合

java - 在 recyclerview 中选择项目时如何从 Firebase 中删除值?

java代理和Web服务身份验证

java - 找不到运行 Android 应用程序的 Activity 兼容设备

java - 如何使用 Guice 的注入(inject)器?

java - 为什么不显示异常错误

java - 即使内容是 XML,POST contentType 也始终显示 text/plain