JSF Spring Integration
Bislang gab es vor allem zwei Ansätze JSF und Spring einander näher zu bringen:
- Der Spring eigene DelegatingVariableResolver
- JSF-Spring
Erstere liefert über einen Custom Variable Resolver die Möglichkeit auf Spring-Beans aus JSF (mit Hilfe der ExpressionLanguage) zuzugreifen.
JSF-Spring fügt dann noch die Möglichkeit hinzu auch von Spring aus auf JSF zugreifen zu können.
Aber mit Spring 2.0 braucht man das eigentlich gar nicht mehr …
Spring 2.0 Scopes
Warum Spring 2.0 Scopes die Sache so vereinfachen ging mir erst neulich auf. JSF kann mit "managed Bean" und "managed Properties" auch ein bisschen DependencyInjection, aber bei Weitem nicht so abgefahren wie Spring.
Das einzige, was JSF mehr konnte – und was praktisch immer gebraucht wurde – sind die Scopes "Request" oder "Session". Spring 1.x Beans sind entweder Singletons oder Prototypes, will man die an den Request oder die Session binden, braucht es dafür speziellen Code. Spring 2.0 kann das aber selbst!
Schlussfolgerung
Ich verwende fortan gar keine JSF managed Beans mehr sondern baue komplett auf Spring. Beans die Session- oder Request-Scope werden im Spring-Context passend konfiguriert und fertig.
Eine bidirektionale Integration zwischen JSF und Spring ist gar nicht mehr erforderlich: es gibt nur noch Spring Beans.
Siehe auch: Using Spring 2 with JSF
4 Antworten auf JSF Spring Integration