2013-04-22 7 views
9

Ich benutze javaFX mit Scene Builder in meinem Projekt und ich habe viele Seiten. Ich möchte Komplexität vermeiden, deshalb möchte ich das Spring-Framework verwenden.Wie verwende ich Spring mit JavaFX?

Also kann mir bitte jemand erklären, wie man JavaFX mit Springframework konfiguriert?

+0

http://www.javacodegeeks.com/2013/03/javafx-2-with-spring.html – Perneel

+1

Werfen Sie einen Blick auf diese [Steve Github Repository] (https://github.com/steveonjava/JavaFX- Frühling) . – tarrsalah

Antwort

3

Es gibt viele Möglichkeiten, Spring mit JavaFX zu integrieren. Die meisten der Techniken, die Sie finden werden, zielen auf Spring-Injektion von Beans auf FXML-Controllern mit der API ControllerFactory auf FXMLLoader ab. Eine erweiterte Technik kann Spring-Prototyp-Beans als benutzerdefinierte JavaFX-Komponenten in Ihre Szene mit der API BuilderFactory (ich habe Tests damit gemacht, dass es ziemlich gut funktioniert) von FXMLLoader injizieren.

Schließlich haben Sie über SceneBuilder gesprochen. Es gibt noch einige Probleme mit SceneBuilder und Spring wird von einigen betroffen. Werfen Sie einen Blick auf diesen anderen Post über Classloaders und SceneBuilder: Classpath resolution with hierarchical custom JavaFx components in Scenebuilder

Es ist notwendig, dass SceneBuilder die Spring Injection wenn möglich nicht berücksichtigt. Sie können dies erreichen, indem Sie die verzögerte Instanziierung von Spring Context (während des "Starts" Ihrer Anwendung) verwenden: Ihr benutzerdefinierter Spring FXMLLoader wird nur zur Laufzeit verwendet und Sie können einen Vanilla FXMLLoader verwenden, wenn Spring nicht gestartet wird. Auf diese Weise lädt SceneBuilder Spring nicht mit seinem Vanilla FXMLLoader und Sie haben keine Klassenpfadprobleme.

8

Ich suchte nach Spring und JavaFX Integration Probe aber konnte nicht eine gute finden. Also habe ich an einem Beispiel gearbeitet. Sie können sich diese Beispielanwendung ansehen. https://gitlab.com/sunkur/SpringJavaFXController

Ich hoffe es hilft.

+0

Downvoting, weil das Repository nicht mehr verfügbar ist, also Leute irreführend – Luca

+0

Nach gitlab verschoben. Sie können auf https://gitlab.com/sunkur/SpringJavaFXController zugreifen. –

+0

Könnten Sie bitte die Antwort bearbeiten, damit ich den Downvote entfernen kann? :) – Luca

Verwandte Themen