# Unterschiede Spring und Spring RCP



## Looky (20. Januar 2009)

Hallo,

ich würde gerne die Unterschiede zwischen Spring (ich dachte immer, das sei ein Framework, um die J2EE Programmierung zu erleichtern) und Spring RPC (offensichtliche eine Methode um einfacher Swing ies zu coden) kennenlernen.

Hintergrund ist, ich muss bald eine J2EE Anwendung weiterentwickeln, die Spring nutzt. hibernate ist auch dabei. 

So, nun dazu auch nochmal ein paar (wahrscheinlich dumme) Fragen:

1) Hibernate ist ein "Persistenz" Framework..? und wie passt da Spring rein?

2) Habt ihr tolle "Hallo Welt" Lektionen, die mir Spring Schritt für Schritt näher bringen?

Danke, und bitte habt ein wenig Geduld, ich bin ein Java Applikationsprogrammierer und komme nun gerade in die J2EE Programmierung mit neueren Frameworks rein. Bisher habe ich wenn überhaupt meistens nur reines JSP (quasi old-school) programmiert.

Danke euch
Christian


----------



## mschlegel (21. Januar 2009)

Habe selber eine Weile gesucht, insbesondere kleinere Beispiele (und vor allem vollständige, also ohne ... im Code) sind etwas schwieriger aufzutreiben.

Hier findest du ein Hello World

Zu den Unterschieden kann ich nichts sagen, da ich selber noch am rumwurschteln bin 
Was Hibernate angeht, so bietet Spring noch eine erweiterte Unterstützung dafür, z.B durch Templates für CRUD-Operationen. Auch die Konfiguration lässt sich über Spring abwickeln. Spring an sich hat nichts mit der Persitenz zu tun, aber du könntest dir unterschiedliche DAOs basteln und je nach Anforderung in eine deiner Anwendung den HibernateDAO injizieren (das übernimmt dann Spring) und in eine andere dann TopLink oder JPA. Bitte korrigiert mich wenn ich falsch liege, hab nur grad das Kapitel im Buch durch


----------



## Oliver Gierke (21. Januar 2009)

Meinst du RPC (Remote Procedure Calls) oder RCP (Rich Client Platform)? Deine Frage impliziert, dass sich die Sachen gegenüberstehen? Wie kommst du darauf?

Grunsätzlich kann ich für den Einstieg in Spring Eberhard Wolffs Buch "Spring 2 - Framework für die Javaentwicklung" empfehlen. Hierzu gibt es auch sehr viel Beispielcode auf http://www.spring-buch.de. Alternativ kann man auch gern "Spring in Action" von Craig Walls lesen. Sehr nett.

Gruß
Ollie


----------



## Looky (21. Januar 2009)

cool, danke. Vielleicht findet sich ja hier noch wer, der uns erleuchtet.


----------



## Looky (21. Januar 2009)

mhm, ich denke ich rede von spring rcp.

Desweiteren würde ich gerne wissen, ob Spring und Hibernate nun zusammengehören oder nicht. Für mich ist das zur Zeit noch ein ziemlich undurchdringlicher Urwald..

Christian


----------



## Oliver Gierke (21. Januar 2009)

Hibernate ist eine Biblothek für die Implementierung von Persistenz. Spring stellt Klassen zu Intergration von verschiedensten Persistenzbibliotheken (Hibernate, TopLink, EclipseLink, iBatis, plain JDBC) zur Verfügung.

Insgesamt ist Spring eher ein programmiermodell, Framework, eine Middleware, das/die die Entiwicklung von JavaEE Systemen vereinfacht, verschiedenste Technologien integriert und die Benutzung dieser abstrahiert und vereinheitlicht. Reicht das als Abstract? 

REINHAUN!


----------



## Looky (21. Januar 2009)

Ja das klingt doch schon brauchbar. Hibernate ist also offensichtlich nicht direkt in Verbindung mit Spring entstanden, sondern kann auch ohne Spring eingesetzt werden und hat im Grunde direkt nichts mit Spring zu tun...?

Bäh, das heißt im Umkehrschluss, dass ich mich sowohl in Spring als auch in Hibernate einarbeiten muss. 

Wieviel Zeit wäre denn einzurechnen, wenn ich (als nicht ganz dummer) Programmierer mir in Eigenregie Spring beibringen müsste, um ein produktives Produkt zu erzeugen bzw. zu pflegen?

Christian


----------



## tim staeglich (23. Januar 2009)

Hi, nochmal zur erklärung Hibernate:

Grob gesagt kann Hibernate Dir Schritte abnehmen.

Z.B. hast Du eine Klasse User mit den Attributen Name und Nachname.
jetzt würdest Du per JDBC auf die Datenbank gehen und als braver Programmierer
darauf abgehen, die Attribute zu einem Objekt zu machen.

-DB lesen Name, Nachname eintragen ins Klassenattribut der User Klasse.
-User Klasse konstruieren.

Hibernate benutzt POJOS, d.h. Die Tabelle User erzeugst Du nicht selbst.
Du erzeugst die Klasse und sagst Hibernate: "Speichern in DB bitte".

das gilt für ziemlich alle Datenbank Modelle, die man sich ausdenken kann.
Hibernate ist ein Tool, was den Entwickler von der DB fernhält.

Was man aber weiter machen kann ist Reverse Engineering, d.h. Schema in DB selbst erzeugen und in Hibernate reindübeln. PlugIns die das unterstützen sind z.B. MyEclipse.

Zusätzlich ermöglicht Hibernate angeblich das einfache Austauschen von DB Systemen, sprich statt MySQL einfach Oracle zu nehmen. Mann muss nicht alle Statements umschreiben etc. (Trigger, Sequences, Views etc.).
Allerdings ist das nur bedingt war. ich habe Fälle erlebt, wo man trotzdem die Konfig plus Java umschreiben musste, um das DBMS wechseln zu können.

Um Dich nicht zu verwirren, erspare ich Dir jetzt Details. Dann lieber speziellere Fragen stellen, wenn Du soweit bist.

Schönes WE,

Tim


----------



## Looky (26. Januar 2009)

super, danke dir


----------

