2016-07-20 7 views
0

Also ich versuche, Spring Bean in einer Klasse zu initiieren, die Wickets AuthenticatedWebSession erweitert.Initiierende Frühlingsbohne in Wickets AuthenticatedWebSession

Es gibt einige Antworten in stakcoverflow, aber diese funktionierten nicht für mich.

authenticationService bleibt null, da die Spring Bean nicht gestartet wurde Verwenden Wicket-Version 7.3.0

Irgendwelche Ideen wie in inject es richtig?

+0

Enthält Ihre XML-Datei '' mit den zu scannenden Paketen? – VinayVeluri

+0

Die Bean wird gefunden, wenn ich sie in die 'extends Base'-Klasse einschließe, daher sollte das Problem nicht bei component-scan liegen? – Noripsni

Antwort

1

Dies ist der richtige Weg. Die Bean sollte nicht null sein, nachdem Injector.get().inject(this); ausgeführt wurde.

Ich benutze das gleiche in meiner aktuellen Anwendung. Wieder 7.3.0.

Hier sind einige Vorschläge:

  • Stellen Sie sicher, Ihre Tests verwenden YourWicketApplication oder wenn sie Mock-Anwendung verwenden dann stellen Sie sicher, SpringComponentInjector zu konfigurieren.

  • Stellen Sie sicher, dass @SpringBean Wicket-Spring ist, weil Spring 5 auch Annotationen mit diesem Namen hinzugefügt hat. Obwohl ich bezweifle, dass Sie Spring 5 Snapshots noch verwenden.

bitte erstellen Sie eine Mini-Demo-Anwendung, die das Problem reproduziert und wir werden debuggen es helfen!

+0

Bean sollte korrekt sein 'import org.apache.wicket.spring.injection.annot.SpringBean;' – Noripsni

+0

Ja, du hast Recht. Es sollte nicht null sein und es ist ... Ich habe es über Komponententests initiiert, aber wenn es mit dem Steg läuft, funktioniert es gut. Aber das Problem besteht immer noch, da ich es auch mit Komponententests arbeiten muss (nicht spöttisch). – Noripsni

+0

Stellen Sie sicher, dass SpringComponentInjector in Ihren Tests eingerichtet ist. Wahrscheinlich verwendet WicketTester eine andere Anwendungsinstanz, z. MockApplication anstelle von der, die Sie zur Laufzeit verwenden. –

Verwandte Themen