提问者:小点点

如何将Spring与JavaFX一起使用?


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

所以请有人能详细给我解释一下如何用spring框架配置JavaFX吗?


共2个答案

匿名用户

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

我希望它有所帮助。

匿名用户

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

最后,你一直在说SceneBuilder。SceneBuilder仍然存在一些问题,Spring也受到了一些人的关注。看看这篇关于类加载器和SceneBuilder的文章:在Scenebuilder中使用分层的定制JavaFx组件进行类路径解析

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