Spring (framework)Spring Framework
En informatique, Spring est un framework open source pour construire et définir l'infrastructure d'une application Java[3], dont il facilite le développement et les tests. En 2004, Rod Johnson (en) a écrit le livre Expert One-on-One J2EE Design and Development[4] qui explique les raisons de la création de Spring. Conteneur légerSpring est considéré comme un conteneur dit « léger ». La raison de ce nommage est expliquée par Erik Gollot dans l’introduction du document Introduction au framework Spring[5].
Spring s’appuie principalement sur l’intégration de trois concepts clés :
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 plus facilement.
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 être 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 et JavaServer Faces pour la couche présentation. Composition de SpringNoyau de baseLe noyau de Spring est basé sur :
De plus, le noyau de Spring permet de forcer le contrôle de ces composants de leur extérieur, par la technique nommée 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. Les beans peuvent être définis par le biais de fichiers de configuration en Java ou XML. Exemple d'utilisationDans l'exemple ci-dessous, deux beans singletons sont définis. 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. @Configuration
public class AppConfig {
@Bean
public ClientService clientService(ClientDao clientDao) {
ClientService clientService = new ClientServiceImpl();
clientService.setClientDao(clientDao);
return clientService;
}
@Bean
public ClientDao clientDao() {
return new ClientDaoImpl();
}
}
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émentsDivers modules Spring Framework viennent en complément du noyau de base pour permettre l'intégration avec les autres bibliothèques et framework, notamment :
Notes et références
Voir aussiArticles connexes
Bibliographie
Liens externes |
Portal di Ensiklopedia Dunia