![]() |
Licence Creative Commons by-nc-nd
(Paternité, pas d'utilisation commerciale, pas de modification) |
Spring est un framework qui facilite le développement et les tests d'applications pour la plateforme J2EE.
Dit "conteneur léger", il permet d'agencer par simple configuration les objets d'une application et leurs dépendances, mais contrairement à J2EE et EJB (avant EJB3), sans déployer un fatras d'interfaces et autres artéfacts conceptuels.
Il offre la possibilité de configurer des architectures d'applications web et d'applications d'entreprise en assurant une séparation des couches persistance, métier et présentation.
MVC2 est un modèle proposé dans Spring en tant que module propre, ou bien on peut interfacer la partie Controleur/Vue avec d'autres API telles que JSF ou Struts.
Spring repose sur quelques principes dominants :
Enfin, son côté "glue d'application" lui est fourni par sa couche d'abstraction lui permettant d'intégrer les frameworks plus spécialisés de façon transparente et homogène, à travers un motif unique et unifié de Bean Factory.
Sa mise en oeuvre fait ainsi office de glue pour intégrer les différentes parties d'une application développées en toute indépendance. Ce sont des fichiers XML de configuration de l'application qui vont instanciés des Bean légers (POJO) et les mettre en relation.
Ainsi, il n'y a plus d'interdépendance entre les parties par des initialisations. La reconfiguration se fait par de nouveaux fichiers de config XML.
Autre atout de ce framework par rapport à Seam par exemple, Spring est non-intrusif, c'est-à- dire qu'il n'y a pas de dépendances requises au niveau du code (pas d'import de classes Spring), ce qui rend le code complétement non-adhérent à Spring.
Intégration d'API/ Frameworks
Il est possible d'intégrer une API qui ne l'aurait pas encore été (les plus utilisées le sont déjà), il suffit pour cela d'implémenter une BeanFactory qui va se charger de rendre cette API parfaitement intégrée à Spring, et rejoindre la communauté déjà impressionnante des Spring Modules.
Java, tout autre Framework (Hibernate, Strut, ...) intégré dans les Spring Modules
Ce framework est utilisé depuis plusieurs années dans le cadre du Consortium ESUP-Portail par les développeurs pour réaliser des portlets, notamment via ESUP-COMMONS qui est un socle de developpement de portlet basé sur Spring.
Il est apprécié pour les facilités offertes en terme d'evolutivité, d'élaboration de tests, de souplesse d'architecture, et surtout de mise en commun et capitalisation des techniques de développement.
Il est également utilisé dans le cadre du projet ORI-OAI, pour tous les modules qui le composent, et apprécié pour les mêmes raisons.
Il ne faut pas avoir le vertige quand on regarde les piles d'appels, l'utilisation abusive d'AOP amenant rapidement un nombre d'indirections abyssale, point souvent critique en Java.
Il s'agit d'un framework assez complet et modulaire. On peut avoir du mal à savoir par quel bout le prendre, mais les nombreux tutoriels existants aident à s'orienter de façon assez pragmatique.
Multi-plateforme (java)
Spring distribue une version d'Eclipse préconfigurée pour le développement de Spring. Le produit est nommé Springsource Tool Suite (STS) téléchargeable à http://www.springsource.com/products/springsource-....
Il existe aussi un module Spring pour l'IDE Netbeans (http://sourceforge.net/projects/spring-netbeans/).
Le framewok est cependant utilisable par n'importe quel IDE permettant de développer du java.
Société SpringSource (récemment achetée par VMWare).
Logiciel Open Source : pourrait être poursuivi facilement si la société SpringSource disparaît.
Documentation de référence :
http://static.springframework.org/spring/docs/2.5....
Tutoriel sympa :
http://www.theserverside.com/tt/articles/article.t...
http://www.springsource.org/ - onglet Community
Documentation community wiki : http://opensource.atlassian.com/confluence/spring/...