Spring par la pratique

-

Livres
541 pages
Lire un extrait
Obtenez un accès à la bibliothèque pour le consulter en ligne
En savoir plus

Description

Simplifier le développement des applications Java/J2EE

Cet ouvrage montre comment développer des applications Java/J2EE professionnelles et performantes grâce à Spring, associé à d'autres frameworks populaires telles que Struts, Hibernate ou Axis. Spring s'appuie sur des concepts modernes, tels que la notion de conteneur léger, l'inversion de contrôle ou la programmation orientée aspect, afin d'améliorer l'architecture des applications Java/J2EE en les rendant plus souples, plus rapides à développer et plus facilement testables.


Un livre pratique illustré d'une étude de cas détaillée


L'ouvrage présente les concepts sur lesquels reposent Spring avant de détailler les différentes facettes du développement d'applications Web avec Spring : couche présentation (Struts, Spring MVC, Spring Web Flow, portlets, applications Ajax), persistance des données et gestion des transactions, intégration avec d'autres applications et sécurité applicative. L'accent est mis tout particulièrement sur les bonnes pratiques de conception et de développement, qui sont illustrées à travers une étude de cas détaillée, le projet Open Source Tudu Lists.


Sur le site www.editions-eyrolles.com



  • Dialoguez avec les auteurs

  • Téléchargez le code source de l'étude de cas du livre



  • Préface

  • Remerciements

  • Avant-propos

  • Introduction

  • Les fondations de Spring

  • Intégration des frameworks de présentation

  • Gestion des données

  • Technologies d'intégration

  • Les outils connexes

  • Annexe

  • Index

Sujets

Informations

Publié par
Date de parution 07 juillet 2011
Nombre de visites sur la page 258
EAN13 9782212850451
Langue Français

Informations légales : prix de location à la page 0,0225 €. Cette information est donnée uniquement à titre indicatif conformément à la législation en vigueur.

Signaler un problème
Spring 1.2 et 2.0
Spring par la pratique Mieux développer ses applications Java/J2EE avec Spring, Hibernate, Struts, Ajax…
J u l i e n D u b o i s J e a n  P h i l i p p e R e t a i l l é T h i e r r y T e m p l i e r
P r é f a c e d e R o d J o h n s o n , f o n d a t e u r d e S p r i n g
CHEZ LE MÊME ÉDITEUR
Des mêmes auteurs
T. TEMpLIER, A. GoUGEon. –JavaScript pour le Web 2.0. n°12009, 2007, 492 Pages.
J.-p. RETAILLÉ. –Refactoring des applications Java/J2EE. n°11577, 2005, 390 Pages.
R. pAwLAk, J.-p. RETAILLÉ, L. SEInTURIER. –Programmation orientée aspect pour Java/J2EE. n°11408, 2004, 462 Pages.
Dans la même collection
D. THoMASet al. –Ruby on Rails.e n°12079, 2 éditiON, 2007, 750 Pages.
R. GoETTER. –CSS 2 : pratique du design web.e n°11976, 2 éditiON, 2007, 350 Pages.
C. poRTEnEUvEBien développer pour le Web 2.0 – Bonnes pratiques Ajax. n°12028, 2007, 580 Pages.
M. pLASSE. –Développez en Ajax. n°11965, 2006, 314 Pages.
E. DASpETet C. pIERRE de GEyER. –PHP 5 avancé. e n°12004, 3 éditiON 2006, 804 Pages.
A. pATRICIo. –Hibernate 3.0. n°11644, 2005, 336 Pages.
k. DJAfAAR. –Eclipse et JBoss. n°11406, 2005, 656 Pages + CD-ROm.
J. wEAvER, k. MUkHAR, J. CRUME. –J2EE 1.4. n°11484, 2004, 662 Pages.
L. DERUELLE.– Développement Java/J2EE avec JBuilder.n°11346, 2003, 726 Pages + CD-ROm.
Autres ouvrages sur Java/J2EE
J. MoLIèRE. –Cahier du programmeur J2EE.Conception et déploiement J2EE.n°11574, 2005, 234 Pages.
E. pUybARET. –Cahier du programmeur Swing.n°12019, 2007, 500 Pages.
R. fLEURy. –Cahier du programmeurJava/XML.Méthodes et frameworks : Ant, Junit, Eclipse, Struts-Stxx, Cocoon, Axis, Xerces, Xalan, JDom, XIndice… n°11316, 2004, 228 Pages.
E. pUybARET. –Cahier du programmeur Java 1.4 et 5.0.e n°11916, 3 éditiON, 2006, 380 Pages.
C. DELAnnoy. –Programmer en Java. e n°11748, 4 éditiON, 2006, 774 Pages + CD-ROm.
4QSJOH QBS MB QSBUJRVF .JFVY EÏWFMPQQFS TFT BQQMJDBUJPOT +BWB+&& BWFD 4QSJOH )JCFSOBUF 4USVUT "KBY
+ V M J F O % V C P J T + F B O  1 I J M J Q Q F 3 F U B J M M Ï 5 I J F S S Z 5 F N Q M J F S
B W F D M B D P O U S J C V U J P O E F 4 Ï W F S J O F 5 F N Q M J F S 3 P C M P V F U E F 0 M J W J F S 4 B M W B U P S J
e 2 tirage 2007
ÉDITIonS EyRoLLES 61, Bd SaiNt-GermaiN 75240 paris Cedex 05 WWW.editiONs-eYrOlles.cOm
er Le cOde de la PrOPriété iNtellectuelle du 1 juillet 1992 iNterdit eN eFFet exPressémeNt la PhOtOcOPie à usage cOllectiF saNs autOrisatiON des aYaNts drOit. or, cette Pratique s’est géNéralisée NOtammeNt daNs les étaBlissemeNts d’eNseigNemeNt, PrOVOquaNt uNe Baisse Brutale des achats de liVres, au POiNt que la POssiBilité même POur les auteurs de créer des œuVres NOuVelles et de les Faire éditer cOrrectemeNt est aujOurd’hui meNacée. EN aPPlicatiON de la lOi du 11 mars 1957, il est iNterdit de rePrOduire iNtégralemeNt Ou PartiellemeNt le PréseNt OuVrage, sur quelque suPPOrt que ce sOit, saNs autOrisatiON de l’éditeur Ou du CeNtre fraNçais d’ExPlOitatiON du DrOit de COPie, 20, rue des GraNds-AugustiNs, 75006 paris. © GrOuPe EYrOlles, 2006, ISbn : 978-2-212-11710-3
Rod JOHNSON Founder, Spring Framework, CEO, Interface21
Pr
éf
ace
French readers have had to wait longer than most for a book on Spring in their native language. However, the wait has not been in vain, and they are fortunate in this, the first book on Spring in French. It is almost five years since I wrote the first code towards what would later become the Spring Framework. The open source project formally began in February 2003, soon making the product far more than any individual could achieve. Since that time, Spring has become widely used worldwide, powering applications as diverse as retail banking portals; airline reservation systems; the French online tax submission system; payment engines handling interbank trans fers, salaries and utility bills; search engines; government agency portals including that of the European Patent Office; critical scientific research systems; logistics solutions; and football web sites. In that time, Spring also spawned a rich literature, in a variety of languages. This book does an excellent job, not merely of describing what Spring does, and how, but the central issue of why. Excellent examples illustrate the motivation for important Spring concepts and capabilities, making it not merely a book about a particular product, but a valuable book about writing effective serverside Java applications. While this book is ideal as an introduction to Spring and modern concepts such as Depen dency Injection and Aspect Oriented Programming, it always respects the reader. The authors never write down to their readership. While their experience stands out, and they offer clear guidance as to best practice, the reader feels involved in their discussion of architectural choices and tradeoffs. The content is not only up to date, but broad in scope and highly readable. Enterprise Java is a dynamic area, and open source projects are particularly rapidly moving targets. Spring has progressed especially rapidly in the last six months, with work leading up to the final release of Spring 2.0. The authors of this book have done a remarkable job of writing about Spring 2.0 features as soon as they have stabilized. The coverage of AJAX is also welcome. The writing style is clear and to the point, making the book a pleasure to read. Finally, the authors commitment to providing a realistic sample application (rather than the simplistic effort that mars many books), is shown by the fact that Tudu Lists has become a viable open source project in its own right. I highly recommend this book to all those new to the Spring Framework or wishing to deepen their understanding of it, as well as those who wish to understand the current state of enterprise Java development.
IV
Spring 2.0
Rod JOHNSON, fondateur du framework Spring et président dInterface21
Si les lecteurs francophones ont dû patienter plus que dautres pour avoir accès à un livre sur Spring écrit dans leur langue, leur attente naura pas été vaine, puisque ce premier ouvrage en français dédié à Spring est une grande réussite. Voici bientôt cinq ans que jai écrit les premières lignes du code de ce qui allait devenir le framework Spring. Le projet Open Source luimême na réellement débuté quen février 2003, pour aboutir rapidement à un produit outrepassant de beaucoup ce quune seule personne aurait pu réaliser. Aujourdhui, Spring est largement utilisé à travers le monde, dans des applications aussi diverses que des portails bancaires publics, des systè mes de réservation de billets davion, le système français de déclaration de revenus en ligne, des moteurs de paiements assurant les transferts interbancaires ou la gestion de la paie et des factures, des moteurs de recherche, des portails de services gouvernementaux, dont celui de lOffice européen des brevets, des systèmes critiques de recherche scientifi que, des solutions de logistique ou des sites dédiés au football. Durant toute cette période, Spring a fait lobjet dune abondante littérature, dans un grand nombre de langues. Audelà de la description de ce que fait Spring et de la façon dont il le fait, toute lorigina lité de ce livre réside dans sa façon de répondre à la question centrale dupourquoi. Les très bons exemples qui illustrent les motivations ayant conduit à lélaboration des concepts et des fonctionnalités fondamentales de Spring en font, bien plus quun simple manuel de prise en main, un ouvrage de référence pour quiconque souhaite réaliser efficacement des applications Java côté serveur. Idéal pour une introduction à Spring et à des concepts aussi modernes que linjection de dépendances ou la programmation orientée aspect, ce livre respecte en outre toujours le lecteur, les auteurs sétant fait un point dhonneur de ne jamais le prendre de haut. Tout en profitant de leur vaste expérience et de leur clair exposé des meilleures pratiques, le lecteur se sent continuellement impliqué dans leur présentation critique des choix darchitecture et des compromis qui en découlent. Le contenu de louvrage est parfaitement à jour et couvre une large gamme de sujets. J2EE est un domaine très actif, dans lequel les projets Open Source évoluent de manière extrême ment rapide. Spring luimême a fortement progressé au cours des six derniers mois, pour atteindre sa version finalisée Spring 2.0. Les auteurs de ce livre ont accompli une véritable prouesse pour traiter des fonctionnalités de cette version de Spring 2.0 dès quelles ont pu être stabilisées. La couverture de la technologie AJAX est en outre particulièrement bienvenue. Pour finir, les auteurs ont fait leffort dadjoindre au livre une application exemple réaliste plutôt quune étude de cas simpliste, comme on en trouve dans trop douvrages. Cette application, Tudu Lists, est même devenue un projet Open Source à part entière, avec déjà de nombreux utilisateurs. Ajoutons que le style décriture est clair et pragmatique, rendant le parcours du lecteur très agréable. Pour toutes ces raisons, je ne saurais trop recommander la lecture de cet ouvrage à ceux qui débutent dans lutilisation du framework Spring ou qui souhaitent en approfondir la maîtrise comme à ceux qui ont à cur de mieux comprendre létat de lart du développement Java dentreprise.
R
emerci
emen
t
s
Nous remercions Éric Sulpice, directeur éditorial dEyrolles, et Olivier Salvatori pour leurs multiples relectures et conseils. Nous remercions également les personnes suivantes de la communauté Spring, pour leur confiance, leur accessibilité et leur gentillesse : Rod Johnson, Juergen Hoeller, Rob Harrop, Dmitriy Kopylenko, Steven Devijver, Jan Machacek et Costin Leau. Enfin, merci à toutes les personnes qui ont eu la gentillesse de nous soutenir et de nous relire, notamment Stéphane Labbé, Erwan Perigault, Pascal Poussard et Jérôme Morille. Julien Dubois : Merci à ma famille et à mes proches pour leur soutien tout au long de cette aventure.
JeanPhilippe Retaillé :
Merci à Audrey et à ma famille pour mavoir soutenu dans lécriture de cet ouvrage.
Thierry Templier :
Merci à ma femme, Séverine, pour son soutien et son aide précieuse tout au long de ce projet. Merci également à toutes les personnes de Paris et de Nantes avec qui jai eu loccasion déchanger sur Spring (David Fiou, Fabrice Legrand, Bruno Rizzi, Louis Gilles Ovize, Didier Girard, Laurent Guérin, Gérald Bureau et Arnaud Gougeon), ainsi quaux membres de lOSSGTP (Open Source Software GetTogether Paris) pour leur accueil.
Table des matières
Préface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Remerciements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Avantpropos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Objectifs de cet ouvrage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Organisation de louvrage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . À propos de lapplication Tudu Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . À qui sadresse louvrage? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CHAPITRE 1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Problématiques des développements Java/J2EE . . . . . . . . . . . . . . . . . La séparation des préoccupations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . La productivité des développements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Lindépendance visàvis de la plateforme dexécution . . . . . . . . . . . . . . Les tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . En résumé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Réponses de Spring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . La notion de conteneur léger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Le support de la POA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
III V XIX XIX XX XX XXI
1 2 3 3 4 5 5 5 6 6
VIII
Spring 2.0
Lintégration de frameworks tiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Architecture globale de Spring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . En résumé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Présentation de létude de cas Tudu Lists. . . . . . . . . . . . . . . . . . . . . . . Architecture du projet Tudu Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Installation de lenvironnement de développement . . . . . . . . . . . . . . . . . . Organisation des projets dans Eclipse . . . . . . . . . . . . . . . . . . . . . . . . . . . . Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PARTIEI
Les fondations de Spring
CHAPITRE 2 Les concepts des conteneurs légers . . . . . . . . . . . . . . . . . . . . . . . Problématiques de conception dune application . . . . . . . . . . . . . . . . . Périmètre de la modélisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Approche naïve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . En résumé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Approche technologique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . En résumé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Approche par les modèles de conception . . . . . . . . . . . . . . . . . . . . . . . . . En résumé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bilan des différentes approches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Linversion de contrôle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Contrôle du flot dexécution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Linversion de contrôle au sein des conteneurs légers . . . . . . . . . . . . . . . . Linjection de dépendances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Recherche de dépendances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Injection de dépendances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Gestion du cycle de vie des objets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Gestion des singletons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Génération dévénements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Conclusion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8 9 10 11 13 17 20 21
25 25 26 27 29 29 31 32 35 35 36 36 38 40 41 42 45 46 46 47