【问题标题】:How to use Spring with JavaFX ?如何将 Spring 与 JavaFX 一起使用?
【发布时间】:2013-04-15 08:28:15
【问题描述】:

我在我的项目中使用带有 Scene Builder 的 javaFX,并且我有很多页面。我想避免复杂性,这就是我想使用 Spring 框架的原因。

那么请谁能详细解释一下如何使用spring框架配置JavaFX?

【问题讨论】:

标签: java spring dependency-injection javafx-2 javafx


【解决方案1】:

我搜索了 Spring 和 JavaFX 集成示例,但找不到一个好的示例。所以我研究了一个例子。您可以查看此示例应用程序。 https://gitlab.com/sunkur/SpringJavaFXController

希望对你有帮助。

【讨论】:

【解决方案2】:

有很多方法可以将 Spring 与 JavaFX 集成。 您将发现的大多数技术都针对使用 FXMLLoader 上的 API ControllerFactory 在 FXML 控制器上注入 bean。 更高级的技术可以使用 FXMLLoader 的 API BuilderFactory(我已经对其进行了测试,它运行良好)将 Spring 原型 bean 作为 JavaFX 自定义组件注入到您的场景中。

最后,您一直在谈论 SceneBuilder。 SceneBuilder 仍然存在一些问题,Spring 受到一些关注。看看关于类加载器和 SceneBuilder 的另一篇文章: Classpath resolution with hierarchical custom JavaFx components in Scenebuilder

如果可能,SceneBuilder 有必要不知道 Spring 注入。您可以通过使用 Spring Context 的延迟实例化(在应用程序的“启动”期间)来实现这一点:您的自定义 Spring FXMLLoader 将仅在运行时使用,并且您可以在 Spring 未启动时使用 vanilla FXMLLoader。这样,SceneBuilder 将不会使用其 vanilla FXMLLoader 加载 Spring,并且您不会遇到类路径问题。

【讨论】:

    猜你喜欢
    • 2021-05-09
    • 2019-02-06
    • 2021-08-27
    • 2022-01-07
    • 2011-05-26
    • 2012-05-10
    • 2019-08-14
    • 2014-12-11
    • 1970-01-01
    相关资源
    最近更新 更多