如何将Spring与JavaFX一起使用?
2022-09-02 21:59:00
我在我的项目中将javaFX与Scene Builder一起使用,我有很多页面。我想避免复杂性,这就是为什么我想使用Spring框架。
所以,任何人都可以向我详细解释如何使用spring框架配置JavaFX吗?
我在我的项目中将javaFX与Scene Builder一起使用,我有很多页面。我想避免复杂性,这就是为什么我想使用Spring框架。
所以,任何人都可以向我详细解释如何使用spring框架配置JavaFX吗?
我搜索了Spring和JavaFX集成示例,但找不到一个好的。所以我做了一个例子。您可以查看此示例应用程序。https://gitlab.com/sunkur/SpringJavaFXController
我希望它有帮助。
有很多方法可以将Spring与JavaFX集成。您会发现的大多数技术都针对使用FXMLLoader上的API ControllerFactory在FXML控制器上注入豆子。一种更高级的技术可以使用FXMLLoader的API BuilderFactory(我已经进行了测试,它运行得很好)将Spring原型bean作为JavaFX自定义组件注入到您的场景中。
最后,您一直在谈论SceneBuilder。SceneBuilder仍然存在一些问题,有些人担心Spring。看看这篇关于类装入器和SceneBuilder的另一篇文章:在Scenebuilder中使用分层自定义JavaFx组件的类路径分辨率
如果可能的话,SceneBuilder必须不知道弹簧注入。您可以通过使用Spring Context的延迟实例化(在应用程序的“启动”期间)来实现这一点:您的自定义Spring FXMLLoader将仅在运行时使用,并且您可以在Spring未启动时使用vanilla FXMLLoader。这样,SceneBuilder就不会使用其vanilla FXMLLoader加载Spring,并且您也不会遇到类路径问题。