Introduction

publicité
Introduction
C’est en 2004 que j’ai utilisé Spring pour la première fois. J’en suis devenu immédiatement un fan inconditionnel et l’emploie depuis dans pratiquement tous mes projets. Je
suis particulièrement attiré par la simplicité et la sagesse de Spring. Il représente le framework applicatif Java/Java EE le plus simple et le plus puissant que j’aie jamais utilisé. Sa capacité à résoudre simplement des problèmes complexes m’a énormément
impressionné. Les solutions proposées par Spring ne sont probablement pas les meilleures, mais elles sont pour le moins les plus raisonnables que je connaisse.
Spring touche à la plupart des aspects du développement d’une application Java/
Java EE et propose des solutions simples. Il conduit à employer les meilleures pratiques
dans la conception et la mise en œuvre des applications. Les versions 2.x de Spring ont
apporté de nombreuses améliorations et nouvelles fonctionnalités par rapport aux versions 1.x. Cet ouvrage se focalise sur les fonctionnalités de Spring 2.5 pour la construction d’applications Java d’entreprise1.
Mon expérience de formateur en technologies de programmation m’a révélé que le problème majeur des étudiants était d’arriver à des projets expérimentaux opérationnels.
De nombreux ouvrages traitant de la programmation proposent des exemples de code,
mais n’incluent que des fragments, non des projets complets. Il est généralement possible de télécharger le code complet depuis un site web, mais le lecteur n’a pas l’opportunité de construire les projets pas à pas. Je pense pourtant que vous avez beaucoup à
apprendre du processus de construction d’un projet et que vous prendrez confiance lorsque vous verrez les projets fonctionner. Cette idée sert de fondation à ce livre.
En tant que développeurs Java en activité, nous devons souvent maîtriser de nouvelles
technologies ou de nouveaux frameworks. Puisque nous sommes simplement des développeurs qui utilisent une technologie, non des étudiants ayant un examen à passer, nous
pouvons nous passer de tout mémoriser. Seule une manière efficace de trouver l’information quand c’est nécessaire suffit. Pour le bénéfice du lecteur expérimenté ou novice
1. N.d.T. : au moment de l’écriture de ces lignes, la version 3.0 de Spring est en développement et
devrait sortir au cours de l’année 2009. Au programme, on notera l’abandon du JDK 1.4 au profit
du JDK 5, la suppression de tout ce qui était déclaré deprecated et l’ajout de plusieurs fonctionnalités.
X
Spring par l’exemple
qui va lire ce livre de la première page à la dernière, chaque chapitre est organisé autour
de sujets présentés sous la forme problème-solution. Il lui est ainsi très facile de rechercher une solution à un problème précis.
Les thèmes abordés dans cet ouvrage sont traités sur la base d’exemples de code complets et réels que vous pouvez suivre pas à pas. À la place de descriptions abstraites de
concepts complexes, ce livre propose des exemples opérationnels. Pour démarrer un
nouveau projet, vous pouvez copier le code et les fichiers de configuration proposés,
puis les modifier en fonction de vos besoins. En ne partant pas de zéro, vous économiserez une part importante du travail.
Public du livre
Ce livre est destiné aux développeurs Java qui souhaitent acquérir rapidement une expérience pratique du développement d’applications Java/Java EE à l’aide du framework
Spring. Si vous employez déjà Spring dans vos projets, ce livre vous servira de référence dans laquelle vous trouverez des exemples de code très utiles.
Pour lire cet ouvrage, une grande expérience de Java EE n’est pas nécessaire. Cependant, il suppose que vous connaissez les bases de la programmation orientée objet en
Java (par exemple créer une classe ou une interface, implémenter une interface, étendre
une classe de base, exécuter une classe Main, configurer le chemin d’accès aux classes,
etc.). Il suppose également que vous avez une certaine connaissance des concepts du
Web et des bases de données, comme créer des pages web dynamiques et interroger des
bases de données avec SQL.
Organisation du livre
Cet ouvrage s’articule autour de Spring 2.5 et aborde plusieurs projets Spring qui pourront vous aider dans le développement de vos applications. Il est découpé en douze chapitres. Les six premiers se focalisent sur les concepts et les mécanismes au cœur du
framework Spring. Vous pourrez ainsi vous familiariser avec les bases du framework,
pour ensuite aborder les autres thèmes et utiliser rapidement Spring.
n
Le Chapitre 1, Inversion de contrôle et conteneurs, présente le concept central de
Spring – la conception IoC – et l’importance des conteneurs. Si l’IoC n’a pas de
secret pour vous, n’hésitez pas à sauter ce chapitre.
n
Le Chapitre 2, Introduction au framework Spring, est un aperçu de l’architecture de
Spring et des projets connexes. Il explique également comment configurer Spring
dans votre environnement de développement.
Introduction
XI
n
Le Chapitre 3, Configuration des beans, décrit les bases de la configuration des
beans dans le conteneur Spring IoC. Il est indispensable de maîtriser son contenu
avant d’aborder les chapitres suivants.
n
Le Chapitre 4, Fonctions élaborées du conteneur Spring IoC, détaille les fonctionnalités élaborées et les mécanismes internes du conteneur Spring IoC. Même si ces
fonctionnalités ne sont probablement pas aussi employées que celles du Chapitre 3,
elles sont indispensables à tout conteneur puissant.
n
Le Chapitre 5, Proxy dynamique et Spring AOP classique, explique pourquoi la
programmation orientée aspect (POA) est nécessaire et la façon de modulariser des
préoccupations transversales à l’aide de proxies dynamiques et de Spring AOP. Si
vous connaissez déjà la programmation orientée aspect et souhaitez utiliser directement Spring AOP dans Spring 2.x, n’hésitez pas à sauter ce chapitre.
n
Le Chapitre 6, Spring 2.x AOP et prise en charge d’AspectJ, se focalise sur l’utilisation de la programmation orientée aspect dans Spring 2.x et sur certains sujets avancés de la POA, notamment l’intégration du framework AspectJ dans les applications
Spring.
Les six derniers chapitres concernent les sujets fondamentaux du framework Spring qui
sont fréquemment employés dans le développement des applications d’entreprise.
n
Le Chapitre 7, Prise en charge de JDBC, montre comment Spring permet de simplifier l’utilisation de JDBC. Il sert également d’introduction au module Spring pour
l’accès aux données.
n
Le Chapitre 8, Gestion des transactions, présente les différentes approches à la
gestion des transactions et détaille les attributs transactionnels.
n
Le Chapitre 9, Prise en charge de l’ORM, se focalise sur l’intégration des
frameworks ORM (Object-Relational Mapping) répandus, notamment Hibernate et
JPA, dans les applications Spring.
n
Le Chapitre 10, Framework Spring MVC, couvre le développement d’applications
web en utilisant le module Web MVC de Spring, que ce soit par l’approche traditionnelle ou par la nouvelle approche fondée sur les annotations.
n
Le Chapitre 11, Intégration avec d’autres frameworks web, explique comment intégrer le framework Spring à d’autres frameworks d’applications web répandus, dont
Struts, JSF et DWR.
n
Le Chapitre 12, Prise en charge des tests, s’intéresse aux techniques de base pour le
test des applications Java et à la prise en charge des tests dans le framework Spring.
XII
Spring par l’exemple
Chaque chapitre aborde un thème Spring sous forme de multiples problèmes-solutions.
Vous pouvez rechercher une solution à un problème précis et comprendre son fonctionnement dans la section consacrée. Chaque chapitre se fonde sur un exemple réel complet et cohérent. Les exemples des différents chapitres sont indépendants.
Conventions typographiques
Lorsque vous devez faire particulièrement attention à un élément du code, la partie correspondante est présentée en gras ; l’utilisation du gras ne reflète pas un changement du
code par rapport à la version précédente. Lorsqu’une ligne de code est trop longue pour
tenir sur la largeur de la page, elle est coupée par un caractère de prolongement du code
(). Pour tester le code correspondant, vous devez concaténer vous-même les parties de
la ligne sans inclure d’espace.
Prérequis
Puisque le langage Java est indépendant de la plate-forme, vous pouvez choisir
n’importe quel système d’exploitation pris en charge. Toutefois, sachez que ce livre se
fonde sur Microsoft Windows, ce qui transparaît dans les chemins du système de
fichiers. Vous devez simplement convertir ces chemins au format reconnu par votre système d’exploitation avant d’essayer le code.
Pour tirer pleinement parti de cet ouvrage, vous devez installer le JDK version 1.5 ou
ultérieure. Il est également préférable de disposer d’un IDE Java qui facilitera le développement. Les projets décrits dans ce livre sont développés avec Eclipse Web Tools
Platform (WTP).
Télécharger le code
Les fichiers des exemples de code sont disponibles depuis le site web Pearson (http://
www.pearson.fr), en suivant le lien Codes sources sur la page dédiée à ce livre. Ils sont
organisés selon les chapitres, avec un ou plusieurs projets Eclipse indépendants.
Veuillez lire le fichier lisezmoi.txt, qui se trouve à la racine, pour configurer et exécuter le code source.
Contacter l’auteur
Je suis très intéressé par vos questions et vos commentaires sur le contenu de cet
ouvrage. N’hésitez pas à me contacter à l’adresse [email protected] et à
consulter les mises à jour sur http://www.metaarchit.com.
Téléchargement