如何在JavaFX中使用Spring?
我在我的项目中使用javaFX和Scene Builder,我有很多页面。 我想避免复杂性,这就是我想使用Spring框架的原因。
所以任何人都可以向我详细解释如何使用spring框架配置JavaFX?
我搜索了Spring和JavaFX集成示例,但找不到好的示例。 所以我做了一个例子。 您可以查看此示例应用程序。 https://gitlab.com/sunkur/SpringJavaFXController
我希望它有所帮助。
将Spring与JavaFX集成的方法有很多种。 您将发现的大多数技术都是使用FXMLLoader上的API ControllerFactory在FXML控制器上Spring注入bean。 一种更高级的技术可以将Spring原型bean作为JavaFX自定义组件注入到场景中,使用的是FX BuilderLoader的API BuilderFactory(我已经做了很好的测试)。
最后,您一直在谈论SceneBuilder。 有些问题与SceneBuilder有关,而Spring则受到一些人的关注。 看一下关于类加载器和SceneBuilder的其他post: 在Scenebuilder中使用分层自定义JavaFx组件的类路径解析
如果可能的话,SceneBuilder必须不知道Spring注入。 您可以通过使用Spring Context的延迟实例(在应用程序的“启动”期间)来实现:您的自定义Spring FXMLLoader将仅在运行时使用,并且您可以在Spring未启动时使用vanilla FXMLLoader。 这样SceneBuilder就不会用它的vanilla FXMLLoader加载Spring,你也不会遇到类路径问题。
- Guice在注入的构造函数参数上忽略@Nullable
- Android TestCase中的Dagger 2dependency injection
- 如何在我的自定义Wicket模型类中注入Spring bean?
- “@inject”-ed属性保持为null
- Java / Jersey – 使用ParamInjectionResolver创建自己的注入解析器 – 奇怪的行为
- 创建新对象和dependency injection之间的区别
- 为什么Spring的@Configurable有时可以工作,有时候不工作?
- 如何在Spring XML配置中收集和注入给定类型的所有bean
- 多个实例中的Dagger 2单身人士