【问题标题】:What CDI mechanism is Gluon using by default?Gluon 默认使用什么 CDI 机制?
【发布时间】:2021-12-04 12:28:04
【问题描述】:

Gluon Samples 向我们展示了如何使用 @Inject 注释将我们的类依赖注入 (DI) 到其他类中。我们还看到使用 @PostConstruct 注释的方法允许我们初始化一个“Application Context”代表我们实例化的类,然后在其他地方注入对它的引用。

在使用 JavaFX/Gluon 进行移动开发之前,我的经验是使用 SpringFramework 进行 DI 的服务器端应用程序。但是现在,我不明白如何获取对我的应用程序的 Bean 上下文的句柄/引用,从而我可以获取一个单例 bean 以在托管 bean 上下文之外的静态代码中使用 .

我在Gluon Developer Documentation 中没有看到关于如何完成 CDI 的说明。我发现教程like this one 解释了 Weld 是 CDI 的 Java EE 参考实现,甚至可以在 Java SE 中工作。但尝试在我的代码中开始:

private Weld weld;

不会导致我的 IDE 允许我从应用程序的 maven 依赖项列表中导入该类。那么,Gluon 中 DI 的魔力不是来自 Weld 的使用吗? JavaFX 中一些独立的explanations of using Weld 似乎都是很老的文章了,暗示再也没有人这样做CDI了。

然后我找到了this 6 year old Gluon announcement 关于Gluon Ignite。阅读我能找到的内容,包括README at GitHub,我认为这可能不是我正在寻找的。它似乎与那些在他们的 Gluon 应用程序中实现 Guice、Spring 或其他 DI 框架的人有关。但我还没有在我的工作中引入任何这些 - 然而,正如我在这篇文章的顶部所指出的,DI 已经在我的 Gluon 移动应用程序中工作了。

我有兴趣使用业界知名的 DI 框架之一,但没有关于它的 Gluon 教程文档(和示例应用程序)。因此,我满足于继续使用我们已经在 Gluon 中获得的适应 DI 行为的无论是什么。它是什么?我们在哪里可以阅读更多关于它的信息以更好地控制使用它?

【问题讨论】:

    标签: gluon gluon-mobile


    【解决方案1】:

    JavaFX 没有规定任何 DI 框架,从技术上讲,您也不需要任何 DI 框架。但是,如果您想使用一个,您可以使用任何您想要的以及在客户端应用程序中有意义的东西。 (您实际上指的是哪个具体示例?)

    【讨论】:

    • 就像我在上面的 OP 中所说的,我们已经看到我们可以在 Gluon 移动应用程序代码中使用 Inject 注释。我们不必手动实例化对象并将它们分配给其他人,我们自己。什么 DI 系统正在为我们做这件事?如果不是 DI,你怎么称呼这种自动化行为?
    【解决方案2】:

    在他们使用http://afterburner.adam-bien.com/ 的一些示例中,我想这就是你的意思。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-04
      • 2020-12-18
      • 2016-08-17
      • 1970-01-01
      • 2021-06-22
      • 1970-01-01
      • 2010-10-09
      • 1970-01-01
      相关资源
      最近更新 更多