2016-09-06 3 views
0

Ich habe eine Anwendung mit Java Swing erstellt. Jetzt möchte ich Spring Autowiring (Dependency Injection) in diese Anwendung integrieren.können wir Spring Autowiring in Java Standalone-Anwendung (Swing) implementieren

Bedenken Sie, dass, um UI (Benutzeroberfläche) zu erstellen, ich "neues" Schlüsselwort verwenden würde, aber DAO und POJO-Klassen zu verwenden, möchte ich, dass sie automatisch verkabelt werden.

Kann jemand vorschlagen und mir helfen.

+0

Sie benötigen, um etwas Refactoring zu tun Frühling zu ermöglichen, um die SWING-Komponenten zu verwalten wie die DAOs und POJOs. Siehe [hier] (http://stackoverflow.com/questions/3718671/swing-gui-development-with-spring), das einen Link zu einem alten Tutorial hat. Übersetzen Sie einfach die XML-basierte Konfiguration in Anmerkungen. –

+0

Vielen Dank @AndrewS. Es half mir .. –

Antwort

0

Nicht sicher, ob ich dich richtig verstanden habe. Ich gehe davon aus, dass Sie Ihre DAOs, Services usw. in UI-Klassen automatisch ansteuern möchten. Aber um das zu tun, müssten diese UI-Klassen selbst Spring Beans sein.

Sie können jede UI-Klasse im Spring-Anwendungskontext registrieren, wenn sie erstellt wird. Um dies zu erreichen, können Sie die folgende Klasse erstellen:

public class BeanProvider { 

    private static ApplicationContext applicationContext; 

    /** 
    * Autowires the specified object in the spring context 
    * 
    * @param object 
    */ 
    public static void autowire(Object object) { 
     applicationContext.getAutowireCapableBeanFactory().autowireBean(object); 
    } 

    @Autowired 
    private void setApplicationContext(ApplicationContext applicationContext) { 
     BeanProvider.applicationContext = applicationContext; 
    } 

} 

und dann im Konstruktor jeder UI-Klasse:

public MyUiClass(){ 
BeanProvider.autowire(this); 
} 
+0

Cool .. Ich werde auf jeden Fall folgen ... und so schnell wie möglich mit einigen Ergebnissen antworten ... Vielen Dank @aebblcraebbl –

Verwandte Themen