Spring framework

Spring framework
Spring Framework
Spring.png
Première version 25 juin 2003 [1]
Dernière version 3.0.6 (18 août 2011) [+/-]
Environnement Multiplate-forme
Type Java, framework,
Licence licence Apache
Site web www.springsource.org

Spring est un framework libre pour construire et définir l'infrastructure d'une application java[2], dont il facilite le développement et les tests. En 2004, Rod Johnson a écrit le livre Expert One-on-One J2EE Design and Development[3] qui explique les raisons de la création de Spring.

Sommaire

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 Erik Gollot dans l’introduction du document Introduction au framework Spring[4]

« 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 serveur d’application J2EE et des EJBs). C’est en ce sens que SPRING est qualifié de conteneur “ léger ”. »

Spring s’appuie principalement sur l’intégration de trois concepts clés :

  1. l’inversion de contrôle est assurée de deux façons différentes : la recherche de dépendances et l’injection de dépendances
  2. la programmation orientée aspect
  3. une couche d’abstraction.

La couche d’abstraction permet d’intégrer d’autres frameworks et bibliothèques avec une plus grande facilité. Cela se fait par l’apport ou non de couches d’abstraction spécifiques à des frameworks particuliers. Il est ainsi possible d’intégrer un module d’envoi de mails en toute facilité.

L’inversion de contrôle :

  1. La recherche de dépendance : consiste pour un objet à interroger le conteneur, afin de trouver ses dépendances avec les autres objets. C’est un cas de fonctionnement similaire aux EJBs.
  2. L’injection de dépendances : cette injection peut être effectuée de trois manières possibles :
  • L’injection de dépendance via le constructeur.
  • L’injection de dépendance via les modificateurs (setters).
  • L’injection de dépendance via une interface.

Les deux premières sont les plus utilisées par Spring.

Ce framework, grâce à sa couche d’abstraction, ne concurrence pas d’autres frameworks dans une couche spécifique d’un modèle architectural Modèle-Vue-Contrôleur mais s’avère un framework multi-couches pouvant s’insérer au niveau de toutes les couches ; modèle, vue et contrôleur. Ainsi il permet d’intégrer Hibernate ou iBATIS pour la couche de persistance ou encore Struts pour la couche présentation.

Composition de Spring

Noyau de base

Le noyau de Spring est basé sur :

  • une fabrique générique de beans (comme les JavaBeans) ;
  • un conteneur capable de stocker ces beans.

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.

Exemple simpliste d'utilisation

Dans l'exemple ci-dessous, 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" scope="singleton">
    <constructor-arg type="java.lang.String">
      <value>mesproduits</value>
    </constructor-arg>
  </bean>
 
  <bean id="gestionnaireProduits" class="GestionnaireProduit" scope="singleton">
    <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.

Compléments

Divers modules viennent en complément pour permettre l'intégration avec les autres bibliothèques et framework, notamment :

Notes et références

  1. https://src.springsource.org/svn/spring-maintenance/tags/release-1-0/changelog.txt
  2. Documentation officielle, « Introduction to Spring Framework »
  3. Expert One-on-One J2EE Design and Development,Rod Johnson, Juergen Holler (ISBN 978-0-7645-4385-2)
  4. ego.developpez.com/spring

Voir aussi

Articles connexes

Bibliographie

  • Spring par la pratique par Julien Dubois, Jean-Philippe Retaillé, Thierry Templier, Eyrolles, 2006, 517 p., (ISBN 2212117108)
  • Spring par l'exemple par Gary Mak, PEARSSON, 2008, 492 p., (ISBN 2744023396)

Liens externes


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Spring framework de Wikipédia en français (auteurs)

Игры ⚽ Поможем решить контрольную работу

Regardez d'autres dictionnaires:

  • Spring (Framework) — Spring Maintainer SpringSource Aktuelle Version 3.0.6[1] (23. August 2011) …   Deutsch Wikipedia

  • Spring Framework — Dernière version 2.5.6 (le 31 octobre 2008) [+/−] …   Wikipédia en Français

  • Spring Framework — Infobox Software name = Spring Framework caption = developer = [http://www.springsource.com SpringSource] latest release version = 2.5.5 latest release date = release date|2008|06|23 latest preview version = latest preview date = operating system …   Wikipedia

  • Spring Framework — У этого термина существуют и другие значения, см. Spring. Spring Framework Тип Application framework Разработчик SpringSource Написана на …   Википедия

  • Spring Framework — Este artículo o sección necesita referencias que aparezcan en una publicación acreditada, como revistas especializadas, monografías, prensa diaria o páginas de Internet fidedignas. Puedes añadirlas así o avisar …   Wikipedia Español

  • Spring (Programmiergerüst) — Spring (Framework) Maintainer: SpringSource Aktuelle Version: 2.5.6 (31. Oktober 2008) …   Deutsch Wikipedia

  • Spring Web Flow — Spring (Framework) Maintainer: SpringSource Aktuelle Version: 2.5.6 (31. Oktober 2008) …   Deutsch Wikipedia

  • Spring Security — is a Java/Java EE framework that provides advanced authentication, authorization and other security features for enterprise applications built using the Spring Framework (Java). The project was started in late 2003 as Acegi Security (pronounced… …   Wikipedia

  • Spring Web Flow — ? Información general Última versión estable 2.3.0 28 de febrero de 2011; hace 7 meses (2011 02 28) …   Wikipedia Español

  • Spring — may refer to: * Spring (season), a season of the year * Spring (device), a mechanical part * Spring (hydrosphere), a natural source of waterArt* Spring (painting), an oil by Lawrence Alma Tadema * Spring , a painting by Christopher… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”