Spring framework
Un article de Wikipédia, l'encyclopédie libre.
Spring Framework | |
---|---|
Dernière version | 2.0.2 (le 10 Janvier 2007) |
Environnement | Multi-plate-forme |
Type | Java, J2EE, framework, (open source) |
Licence | licence Apache |
Site Web | www.springframework.org |
Spring est un framework open source J2EE pour les applications 3-tiers dont il facilite le développement et les tests.
Sommaire |
[modifier] Conteneur léger
Spring est considéré comme un conteneur dit "léger". La raison de ce nommage est très bien expliquée par Erick Gollot dans l'introduction du document [1] : p " SPRING est effectivement un conteneur dit « léger », c'est-à-dire une infrastructure similaire à un serveur d'application J2EE. Il prend donc en charge la création d'objets et la mise en relation d'objets par l'intermédiaire d'un fichier de configuration qui décrit les objets à fabriquer et les relations de dépendances entre ces objets. Le gros avantage par rapport aux serveurs d'application est qu'avec SPRING, vos classes n'ont pas besoin d'implémenter une quelconque interface pour être prises en charge par le framework (au contraire des serveurs d'applications J2EE et des EJBs). C'est en ce sens que SPRING est qualifié de conteneur « léger ». "
[modifier] Composition de Spring
[modifier] Noyau de base
Le noyau de Spring est basé sur
De plus, le noyau de Spring permet l'injection de propriétés dans les beans rendant ainsi possible une inversion de contrôle.
Le principal avantage est de composer les beans de façon plus déclarative plutôt que de façon impérative dans le programme. On peut, par exemple, définir les beans par le biais de fichiers de configuration en XML.
[modifier] Exemple simpliste d'utilisation
Dans l'exemple ci-dessous en Java, on définit deux beans singletons. Le premier est un objet d'accès aux données pour des produits et on l'injecte dans le second qui est un gestionnaire de produits.
<beans> <bean id="daoProduitFich" class="DAOProduitFichier" singleton="true"> <constructor-arg type="java.lang.String"> <value>mesproduits</value> </constructor-arg> </bean> <bean id="gestionnaireProduits" class="GestionnaireProduit" singleton="true"> <property name="daoProduit"> <ref bean="daoProduitFich"/> </property> </bean> </beans>
Par exemple, lors d'une recherche, on demandera au conteneur Spring de fournir le gestionnaire de produits qui utilisera l'objet d'accès aux données.
[modifier] Compléments
Divers modules viennent en complément pour permettre l'intégration avec les autres bibliothèques et framework, notamment :
- Spring AOP pour la programmation par aspects (AspectJ)
- Spring DAO pour l'accès aux données, avec un support pour JDBC, Hibernate, iBATIS, JDO ...
- Spring Context et Spring MVC pour les applications web Apache Struts, JSF, Tapestry
[modifier] Voir aussi
- L'Inversion de contrôle, qui est un motif de conception
- La programmation orientée aspect
[modifier] Liens externes
[modifier] Références
- Julien Dubois, Jean-Philippe Retaillé, Thierry Templier, Spring par la pratique, Eyrolles, 2006, 517 p., ISBN 2212117108