JSF Spring Integration

JSF Spring Integration

Bislang gab es vor allem zwei Ansätze JSF und Spring einander näher zu bringen:

  1. Der Spring eigene DelegatingVariableResolver
  2. 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

Dieser Beitrag wurde unter Java veröffentlicht. Setze ein Lesezeichen auf den Permalink.

4 Antworten auf JSF Spring Integration

  1. andreas sagt:

    gibts dazu ev ein kurzes code-sample?

  2. Stefan Rinke sagt:

    Hi Andreas,

    ich hab mal ein minimales Demo hochgeladen. Du findest es hier: http://www.cogito-ergo-blog.de/blog/uploads/SpringJSFDemo.zip.

    Es ist ein fertiges Eclipse-Projekt (mit MyEclipse 6.5 gemacht) und verwendet Spring 2.5 und JSF RI 1.1 von Sun.

    Es enthält eine SpringBean, eine JSP-Seite, die die Bean benutzt. Und die nötigen Konfigdateien, als da wären faces-config.xml, web.xml und applicationContext.xml.

    Das komplette WAR mit allen Libraries gibts hier: http://www.cogito-ergo-blog.de/blog/uploads/SpringJSFDemo.war

    HTH Gruss Stefan

  3. Holger Prang sagt:

    Ufff! Danke für den Artikel! Ich stand vor der gleichen Situation und habe mich auch gefragt, ob ich denn nun des JSF-Lehrbuchs wegen JSF-Beans nehmen soll. Und dabei auch noch gleich das Kapitel 3.4 in Spring entdeckt (Ach da steht das ;-))))

    Und nebenher auch noch ein gutes Sample dazu.

    Lieben Gruß

    Holger

  4. Hans Broil sagt:

    Hallo Zusammen,

    konnte man jetzt eine entsprechende Hibernate config einfügen um bspw. wie in Seam Tabellen im Frontend darzustellen?

    Gruss,

    Hans

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>