The Spring Framework - Introduction to Lightweight
Download
Report
Transcript The Spring Framework - Introduction to Lightweight
The Spring Framework
Trigui Oussema GL5
Objectifs de la présentation
Offrir une vision globale du framework Spring
Présentation des bases du framework
Présentation de l’accès aux données
Présentation du support de Spring pour le
MVC
Spring un conteneur dit « léger »
Spring est très complet et modulaire
Spring s’intègre facilement avec d’autres
frameworks
Spring facilite la programmation en couche et
par composant
SPRING s'appui sur les principes du design
pattern IoC et sur la programmation par aspects
(AOP)
The core container :
Il offre les fonctionalité essentiel du framework
La principale composante du core container est
la BeanFactory qui est une implémentation du
Factory pattern
The BeanFactory applique le Inversion of
Control (IOC) pattern
Spring context:
c’est le fichier de configurtion qui va produire
les information de context au framework
Spring AOP :
Integre les fonctionnalités de laprogrammation
orienté aspect au niveau du framework
Spring DAO :
Facilite l'utilisation de JDBC et de différentes
solutions de mapping objet-relationnel.
Spring ORM
produit une couche pour l’integration des outils de
mapping objet/relationel tel que hibernate ou iBatis
Spring Web module
Offre une panoplie de classe permettant le
developpement web
Spring MVC framework
Conçu autour d’une servlet de type dispatcherServlet
Principe du pattern inversion of Control
Le programmeur ne creé pas ses objets mais il
décrit comment ils sont créés.
Le programmeur ne connecte pas le composant
et le service ensemble mais il décrit cela dans un
fichier de configuration.
BeanFactory
ListableBeanFactory
AutowireCapableBeanFact
ory
HierarchicalBeanFactory
ConfigurableBeanFactory
ConfigurableListableBeanFac
tory
BeanFactory: recherche de beans et de ses
informations par nom
ListableBeanFactory: recherche de beans par
type et liste des noms de beans
AutowireCapableBeanFactory: application
d’autowiring et de post processing sur des beans
HierarchicalBeanFactory: possibilité de récupérer
la BeanFactory parente;
ConfigurableBeanFactory: possibilité de
configurer une BeanFactory (BeanPostProcessor,
gestion des singletons, CustomerEditor,
BeanFactory parente)
ConfigurableListableBeanFactory: possibilité
d’analyser, de modifier et de préinstancier des
singletons;
La programmation orientée aspect
Offre de nouvelles perspective à un principe bien
connu en génie logiciel : la séparation des
préoccupations.
Permet de modulariser, au sein d'entités appelées
aspects, ces préoccupations "transverses"
Les outils AOP, fournissent tous un module
logiciel qui permet d'ajouter dans un second temps
ces préoccupations transverses au programme
initial.
Programmation orienté aspect (AOP)
Les bénéfices de l'AOP sont nombreux:
Gain de productivité
Réutilisabilité, des objets comme des aspects
Evolutivité
Qualité du code
Aspect: Entité logicielle qui capture une fonctionnalité
logicielle transversale à une application
Point de jonction (join point): Point dans l’exécution
d’un programme autour duquel un ou plusieurs
aspects peuvent être ajoutés
Coupe (crosscut): Désigne un ensemble de points de
jonction
Code advice: Bloc de code définissant le
comportement d’un aspect (plusieurs types: avant,
autour, après, sur exception, introduction).
Tissage : Opération d’intégration entre un
ensemble de classes et un ensemble d’aspects;
Plusieurs types de tissage
Tissage à la compilation
Tissage à l’exécution (chargement des
classes ou proxy).
Spring utilise le tissage à l’exécution
Classes de base de Spring AOP
Notion
Spring AOP
Aspect
Advisor, PointcutAdvisor,
IntroductionAdvisor
Point de jonction
Pointcut
Code Advice
Advice,
MethodBeforeAdvice,
AfterAdvice,
ThrowAdvice
Code Advice around
MethodInterceptor
un conteneur d'objets qui, au delà de l'injection de
dépendance, permet aussi de gérer le cycle de vie
complet de ces objets
la possibilité d'utiliser la programmation orientée
aspect
un mécanisme de DAO qui facilite l'utilisation de
JDBC et de différentes solutions de mapping objetrelationnel
un framework web MVC très souple. Laissant le
choix de la technologie à utiliser sur la partie vue,
Le framework JDBC offert par spring se base sur
quatre paquetages
org.springframework.jdbc.datasource
org.springframework.jdbc.object
org.springframework.jdbc.support
Apport de Spring MVC:
MVC configuré avec le conteneur IoC
Framework basé sur des interfaces
(implémentations pour différents cas d’utilisation)
Résoudre les limitations de Struts
Plusieurs vues possibles pour les contrôleurs
(JSTL, Xslt, Excel, Pdf…) et possibilités d’en
intégrer d’autres facilement
Intégration des Tiles, Commons Validator
Découplage entre les contrôleurs et les vues
Cycle de vie des requêtes GET et POST (par
exemple: validation, remplissage du modèle)
Intercepteurs en natif.