Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Kann dir das Buch hier empfehlen. Bin es derzeit am Lesen und finde es sehr gut. Der große Vorteil an dem Buch ist, das sich die Beispiele (Codestücke) alle auf eine kleine Web-Anwendung (Online Pizza-Bestell Service ) beziehen, die man dann quasi selbst nach programmieren kann.
Anfänger: Hab noch nix mit Spring gemacht. Bereite mich gerade auf die scjp 6 vor. Da möchte ich ende des Jahres die Prüfung schreiben. Hatte diesbezüglich auch eine Schulung. Kenn mich mit html/css und perl aus. Ansonsten arbeite ich auch viel mit vb.net.
Bezüglich des genannten Buches Spring und Hibernate: Hab mir das Buch Java Persistence mit Hibernate gekauft und angefangen zu lesen. Leider ist es sehr trocken und Spring kommt da wohl erst zum Schluss vor. Mein Ziel ist es erstmal kleine Web- Anwendungen zu schreiben die keine dicken Datenbank- Anbindungen benötigen.
Spring MVC Tutorial hab ich gefunden. Leider nur in englisch...
Hm, für die Einarbeitung in Spring ist meiner Meinung nach das Buch "Spring in Action" sehr gut geeignet. Es bietet eine sehr gute und wirklich einfach verständliche Einführung in Spring. Das habe ich damals auch durchgearbeitet, ohne Vorkenntnisse von Spring.
Und das beste für dich: Das Buch gibt es auch auf Deutsch: "Spring im Einsatz".
Dabei ist aber zu beachten, dass die deutsche Version Spring 2.0 behandelt, mittlerweile gab es mit 2.5 und jetzt aktuell 3.0 bereits zwei Releases die stark anders sind/waren.
IMHO kannst du ohne Englisch das ganze Thema SW Entwicklung eigentlich schon vergessen.
Die gute Nachricht ist, dass es sich um kein richtiges Englisch handelt, ist imho leichter zu erlernen als das "richtige", da weder Grammatik noch Aussprache eine große Rololle spielen, wichtig sind die Vokabeln (vor allem die technischen), die lernt man aber schnell.
Dabei ist aber zu beachten, dass die deutsche Version Spring 2.0 behandelt, mittlerweile gab es mit 2.5 und jetzt aktuell 3.0 bereits zwei Releases die stark anders sind/waren.
Richtig, das hatte ich noch vergessen zu erwähnen.
Allerdings sind Themen wie Dependency Injection in dem Buch so einfach verständlich beschrieben, dass ich trotzdem damit anfangen würde. Ich hatte vorher einige andere Quellen für DI, da hatte ich es nie wirklich verstanden :-(
Und sind 2.5 und 3.0 wirklich so stark anders, was die Grundlagen betrifft? Also neben DI solche Dinge wie die Bean-Konfiguration durch XML oder eben die APIs zur Erleichterung bei der Entwicklung (SpringJDBC etc.)?
Im Gegensatz zu JEE hätte ich jetzt gesagt, dass bei Spring eher mehr neue Funktionalität hinzugekommen ist, sich das Programmiermodell aber kaum verändert hat?
Ich muss ja sagen, immer wenn ich versuche irgendwo einen kurzen Einblick in Spring zu bekommen, finde ich es ziemlich unzugänglich und unattraktiv. Kann es nicht doch sein, dass spring durch seam/jee6 so langsam ein wenig veraltet ist?
@Kai: Naja, also zumindest die neuen Dinge, die in 3.0 hinzugekommen sind (insbesondere Annotationen fürs WebMVC) sind schon stark anders. Die anderen Annotationen (@Service, @Repository, @Transactional) sind afaik erst in 2.5 hinzugekommen und machen das ganze schon nochmal stark einfacher. Außerdem ist die AspectJ Unterstützung in 2.5 auch afaik anders als in 2.0.
@JanHH: Abgesehen davon, dass du glaube ich fast immer bei solchen Threads diese Frage in der ein oder anderen Form stellst, frage ich mich, was dein Beitrag jetzt mit dem Thread gemein hat.
Um auf deine Frage jetzt doch noch einzugehen: Nein Spring wird mit Sicherheit nicht komplett durch JavaEE6/Seam2 abgelöst werden. Spring bietet nach wie vor noch einige zusätzliche Dinge, wie die Templates für vereinfachtes JMS, etc. und ansonsten gibt es mit Sicherheit auch heute noch Projekte, die mit Spring begonnen werden.
Ja das das nicht so recht was mit dem Thema zu tun hat, ist mir schon klar.. aber Du hast mich auch falsch verstanden. Dass Spring nicht verschwinden wird und auch noch neue Projekte damit begonnen werde, ist mir auch klar. Mir scheint z.B. ein Vorteil zu sein, dass man nicht immer gleich die ganze "Schwergewichtige" JEE-Umgebung samt Application Server und EJB-Container braucht, sondern spring relativ leichtgewichtig ist und auch mit einem simplen tomcat läuft (oder?). Deshalb versuch ich ja auch ab und an, mal einen Blick drauf zu werfen. Aber ich bin dann immer wieder überrascht, wie kompliziert mir das doch, vergleichsweise, zu sein scheint.. dieser ganze xml-Konfigurationskram..
Da gebe ich dir recht, wobei der XML Konfigurationskram mittlerweile schon weniger geworden ist, durch Annotationen bzw. man kann auch JavaConfig nehmen, dann sieht das afaik ähnlich wie bei Guice aus.
Der Vorteil mit dem Tomcat wird eher kleiner, da man mittlerweile ja auch so etwas wie OpenEJB recht einfach in einen Tomcat einbinden kann. Spring als gesamtes ist halt noch mächtiger als EJB3, alleine schon, der AOP-Support, der viel mächtiger ist, als die Interceptoren von EJB3, sowie die ganzen Templates, die vieles vereinfachen.
Edit: Was man letztendlich einsetzt ist meiner Meinung nach vor allem eine Frage der Erfahrung im Team, des persönlichen Geschmackes bzw. Firmenpolitik. Auch wenn die eine oder andere technische Anforderung hier auch den Ausschlag geben kann.
Naja, also zumindest die neuen Dinge, die in 3.0 hinzugekommen sind (insbesondere Annotationen fürs WebMVC) sind schon stark anders. Die anderen Annotationen (@Service, @Repository, @Transactional) sind afaik erst in 2.5 hinzugekommen und machen das ganze schon nochmal stark einfacher. Außerdem ist die AspectJ Unterstützung in 2.5 auch afaik anders als in 2.0.
Absolut richtig! Dennoch finde ich, dass die wirklichen Basisc (Dependency Injection, Spring Container, Beans...) absolut super in diesem Buch erläutert werden - im Gegensatz zu einigen anderen Büchern, die über "probiert" habe...
Der Vorteil mit dem Tomcat wird eher kleiner, da man mittlerweile ja auch so etwas wie OpenEJB recht einfach in einen Tomcat einbinden kann. Spring als gesamtes ist halt noch mächtiger als EJB3, alleine schon, der AOP-Support, der viel mächtiger ist, als die Interceptoren von EJB3, sowie die ganzen Templates, die vieles vereinfachen.
Ein weiterer Grund ist sicherlich auch das Web Profile von JEE 6, welches endlich leichtgewichtige Application Server ermöglicht.
Bezüglich Mächtigkeit sehe ich das genauso - wenn man z.B. AOP braucht, dann ist Spring sicher eine gute Wahl. Allerdings finde ich, dass eben viele der mächtigen Features einfach oft nicht benötigt werden. Man sollte daher also immer abwägen, man diese Features auch wirklich einsetzen wird. Das vergessen viele Leute oft gerne
Was man letztendlich einsetzt ist meiner Meinung nach vor allem eine Frage der Erfahrung im Team, des persönlichen Geschmackes bzw. Firmenpolitik. Auch wenn die eine oder andere technische Anforderung hier auch den Ausschlag geben kann.
Man sollte nicht vergessen, das Spring sehr gut mit JEE kooperiert und schon seit eh und je viele von dessen Lücken füllt, zB. was automatische Tests usw. betrifft.
Die Ansicht "Spring oder JEE" zeugt imho eher von Unkenntnis oder gar einer Marketing Agenda...
Natürlich kann man sie auch kombinieren. Wir haben beispielsweise mal in einem Projekt mit WebSphere AS und EJBs zusätzlich SpringJDBC und ähnliche Templates eingesetzt. Mir persönlich gefällt die Art mit Spring zu programmieren trotzdem einfach nicht so gut.
Naja, bei einer Marketing-Agenda würde man sich ja dann wohl eher auf eines von beiden festlegen ?!
Richtig, andere "Produkte" als die eigenen werden verteufelt bzw. als unzulänglich etc. abgestempelt.
Wenn man das alles aber aus einer technischen Sperpektive sieht, findet man mehr als genug Gründe beides zu kombinieren, wenn es denn zum Problem passt.