【发布时间】:2020-05-04 16:37:36
【问题描述】:
我在两个 Guice 模块中创建两个对象,Object1 和 Object2。这两个对象都使用Object3。我如何控制 Guice 实例化 Object1 和 Object2(Object 1 在 2 之前)的顺序,因为 Object1 设置的 Object3 的状态是 Object2 所必需的?在春天,这类似于拥有@DependsOn。但我在 Guice 中找不到类似的东西。
GuiceModule1
Object1(Object3)
GuiceModule2
Object2(Object3)
我认为可以解决此问题的一种方法是在构造Object1 时将Object2 作为参数传递,但这听起来不正确,因为我必须这样做只是为了定义依赖项创建顺序。
【问题讨论】:
-
Guice 默认应该正确排列初始化顺序。在 spring 中,@dependsOn 的使用是为了解决诸如具有静态依赖关系的对象未由 spring 处理的问题。一个更具体的例子会有所帮助
标签: spring dependency-injection guice