Vous êtes sur la page 1sur 5

ETUDE DES FRAMEWORKS 

: CAS DE
SPRING

I. Présentation
Spring est un Framework java open source utilisé pour créer un micro Service. Il est
développé par Pivotal Team et est utilisé pour construire des applications web
autonomes et prêtes à être mises en production. Un micro Service est une
architecture qui permet aux développeurs de développer et de déployer des services
indépendamment. Spring Boot quant à lui offre une bonne plate-forme pour les
développeurs Java en ce qui concerne le développement une application autonome
et avec d’excellente qualité de production. Vous pouvez commencer avec des
configurations minimales sans avoir besoin d’une configuration de ressort entière.

II. Objectifs
Spring Boot est conçu avec les objectifs suivants :

 Pour éviter une configuration XML complexe du projet

 Développer une production rapide et facile d’applications

 Pour réduire le temps de développement et exécuter l’application


indépendamment

 Offrir un moyen plus facile de commencer avec l’application

III. Avantages
Vous pouvez choisir Spring Boot en raison des fonctionnalités et des avantages qu’il
offre comme donné ici :
 Il fournit un moyen flexible de configurer les java beans, les configurations
XML et les transactions de base de données.

 Il fournit un traitement par lots puissant et gère les points de terminaison


REST.

 Dans Spring Boot, tout est configuré automatiquement ; aucune configuration


manuelle n’est nécessaire.

 Facilite la gestion de la dépendance

 Il comprend le conteneur servlet embarqué

IV. Fonctionnement
L’utilisation de Spring nécessite la mise en place d’un environnement, à savoir :

 L’installation des JDK (Java Development Kit) et JRE (Java Runtime Environment)
JAVA et la configuration du JAVA_HOME.
 L’installation du serveur d’application Apache Tomcat
 L’installation du gestionnaire de projet Maven
 L’installation d’un IDE tel que Intellij Idea, NetBeans, Eclipse …

Spring prend 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,
les classes n’ont pas besoin d’implémenter une quelconque interface pour être prises en
charge par le Framework.

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

 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 ;
 La programmation orientée aspect ;
 Une couche d’abstraction
1. L’inversion de contrôle
L'inversion de contrôle est un design pattern commun à tous les Framework, devenu populaire
avec l'adoption des conteneurs dits "légers", Cette notion fait partie des principes de la
programmation orientée aspect. Selon le mécanisme du design pattern, ce n'est plus
l'application qui appelle les fonctions d'une librairie, mais un framework qui, à l'aide d'une
couche abstraite mettant en œuvre un comportement propre, va appeler l'application en
l'implémentant. L'inversion de contrôle s'utilise par héritage de classes du framework ou par
le biais d'un mécanisme de plug-in.

2. Programmation Orientée Aspect


La programmation orientée aspect ou POA (en anglais, Aspect Oriented Programming ou
AOP) est un paradigme de programmation qui permet de traiter séparément les
préoccupations transversales, qui relèvent souvent de la technique, des préoccupations métier,
qui constituent le cœur d'une application.

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

1. Le containeur de base / Core container

Il se compose des modules tels que Core, Beans, Context, SpEL


 Le module Core : fournit les éléments fondamentaux du cadre et les fonctionnalités
tels que l'injection de dépendance.
 Le module Bean : il fournit BeanFactory, qui est une mise en œuvre
sophistiquée du modèle d’usine.
 Le module Context 
 Le module SpEL : qui fournit un langage d’expression puissant qui interroge
et manipule le graphique d’objet au moment de l’exécution.

2. Accès/intégration des données

 Le module JDBC : il fournit une couche d’abstraction qui élimine la


nécessité d’un codage fastidieux
 Le module ORM qui fournit des couches d’intégration pour les API
populaires de cartographie object-relationnelle
 Le module OXM
 Le module JMS qui contient des fonctionnalités pour produire et
consommer des messages.
 Le module Transaction

3. Web

La couche Web se compose des modules Web, Web-MVC, Web-Socket et Web-


Portlet
 Le module Web fournit des fonctionnalités d’intégration web de base telles
que les fonctionnalités de téléchargement de fichiers multipart
 Le module Web-MVC qui contient la mise en œuvre de Spring Model-View-
Controller (MVC) pour les applications Web
 Le module Web-Socket fournit une prise en charge de la communication dans
les deux sens basée sur WebSocket entre le client et le serveur 
 Le module Web-Portlet

4. Drivers
Il existe peu d’autres modules importants comme AOP, Aspects, Instrumentation,
Modules Web et Test.
 Le module AOP
 Le module Aspects assure l’intégration d’AspectJ, qui est à nouveau un cadre
AOP puissant et mature.
 Le module Instrumentation fournit un support d’instrumentation de classe et
des implémentations de chargeuses de classe à utiliser dans certains
serveurs d’application.
 Le module Messagerie
 Le module Test prend en charge les essais de composants Spring avec des
frameworks JUnit

Vous aimerez peut-être aussi