gpt4 book ai didi

guice - 在静态最终属性上注入(inject) Guice?

转载 作者:行者123 更新时间:2023-12-05 03:13:43 29 4
gpt4 key购买 nike

我有很多 TabularResultSet 类的带注释的命名实例,我想将它们传递给多个类并传递给静态最终属性。我该如何注入(inject)?我认为它不喜欢该属性的最终和静态性质。必须在属性声明中直接调用注入(inject)器来赋值吗?

最佳答案

可以让 Guice 注入(inject)静态字段。参见 Static Injections在 Guice 文档中。

但我不确定static finalfinal 字段还保证它们只被初始化一次(除非使用反射)。 Guice 可以通过使用反射来解决这个问题(我知道 Guice 可以使用反射注入(inject) @Inject private final 字段),但这是一个非常肮脏的解决方案。如果字段的值曾经在静态初始化 block (对于 static)或构造函数(对于非 static 字段)之外设置,那么它不应该有 最终

但即使有可能,也不是一个好主意。静态与依赖注入(inject)相反。依赖注入(inject)基于好莱坞原则:“不要调用我们,我们会调用你”。您不应该查找来自 Guice 的值,您应该只声​​明您需要它,Guice 会提供给您。

关于guice - 在静态最终属性上注入(inject) Guice?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29044822/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com