Wicket Spring Integrationsbeispiel

Wicket + Spring Integrationsbeispiel

Dieses Tutorial zeigt, wie manintegrate Wicket with Spring framework macht.

Bibliotheken in diesem Artikel:

  1. Wicket v1.4.17

  2. Wicket-Spring v1.4.17

  3. Spring v3.0.5.RELEASE

1. Projektstruktur

Endgültige Projektverzeichnisstruktur dieses Tutorials, nichts Besonderes, nur ein Standard-Maven-Projekt.

wicket spring example

2. Projektabhängigkeit

Holen Sie sich Wicket- und Spring-Abhängigkeiten. Um beide zu integrieren, benötigen Sie „wicket-spring.jar“.



    

        
        
            org.apache.wicket
            wicket
            1.4.17
        

        
        
            org.apache.wicket
            wicket-spring
            1.4.17
        

        
        
            org.springframework
            spring-core
            3.0.5.RELEASE
        

        
            org.springframework
            spring-context
            3.0.5.RELEASE
        

        
            org.springframework
            spring-web
            3.0.5.RELEASE
        

        
        
            org.slf4j
            slf4j-log4j12
            1.5.6
        

    

3. Frühlingsbohne

Erstellen Sie eine Spring Bean und kommentieren Sie sie mit@Service.

package com.example.user;

public interface HelloService {

    String getHelloWorldMsg();

}
package com.example.user;

import org.springframework.stereotype.Service;

@Service
public class HelloServiceImpl implements HelloService {

    public String getHelloWorldMsg() {
        return "Spring : hello world";
    }

}

4. In den Frühlingsbehälter spritzen

Erstellen Sie eine Standarddatei von SpringapplicationContext.xmlund aktivieren Sie die Funktion zum automatischen Scannen von Komponenten.

Datei: applicationContext.xml



    

5. Wicket mit Spring integrieren

Überschreiben Sie die Methode der Wicket-Anwendunginit()mit dieser „addComponentInstantiationListener(new SpringComponentInjector(this));“.

Datei: Wicket-Anwendungsklasse

package com.example;

import org.apache.wicket.protocol.http.WebApplication;
import org.apache.wicket.spring.injection.annot.SpringComponentInjector;
import com.example.user.SimplePage;

public class WicketApplication extends WebApplication {

    @Override
    public Class getHomePage() {

        return SimplePage.class; // return default page
    }

    @Override
    protected void init() {

        super.init();
        addComponentInstantiationListener(new SpringComponentInjector(this));

    }

}

Jetzt können Sie Spring Bean über@SpringBean in die Wicket-Komponente injizieren.

package com.example.user;

import org.apache.wicket.PageParameters;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.spring.injection.annot.SpringBean;

public class SimplePage extends WebPage {

    @SpringBean
    private HelloService helloService;

    public SimplePage(final PageParameters parameters) {

        add(new Label("msg", helloService.getHelloWorldMsg()));

    }

}


    

Wicket + Spring integration example

6. web.xml

Machen Sie im letzten Schritt Ihr Webprojekt mit Wicket and Spring bekannt. Deklariert beide inweb.xml.

Datei: web.xml



    Wicket Web Application

    
        wicket.wicketTest
        org.apache.wicket.protocol.http.WicketFilter
        
            applicationClassName
            com.example.WicketApplication
        
    

    
        wicket.wicketTest
        /*
    

    
        
                     org.springframework.web.context.ContextLoaderListener
                
    

7. Demo

Eine einfache Wicket-Seite, und die Nachricht wird von Spring zurückgegeben.

wicket spring demo

Laden Sie es herunter -Wicket-Spring-Integration-Example.zip (8 KB)