18

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

那么请任何人向我详细解释如何使用spring框架配置JavaFX?

4

2 回答 2

14

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

我希望它有所帮助。

于 2014-07-31T18:02:45.363 回答
4

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

最后,您一直在谈论 SceneBuilder。SceneBuilder 仍然存在一些问题,Spring 受到一些关注。看看关于类加载器和 SceneBuilder 的另一篇文章: 在 Scenebuilder 中使用分层自定义 JavaFx 组件的类路径解析

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

于 2013-09-06T12:48:04.353 回答