1 / 28

The Spring Framework

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 »

Download Presentation

The Spring Framework

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. The Spring Framework Trigui Oussema GL5

  2. 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

  3. 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)

  4. 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

  5. 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

  6. Spring Web module Offre une panoplie de classe permettant le developpement web Spring MVC framework Conçu autour d’une servlet de type dispatcherServlet

  7. 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.

  8. BeanFactory ListableBeanFactory HierarchicalBeanFactory AutowireCapableBeanFactory ConfigurableBeanFactory ConfigurableListableBeanFactory

  9. 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;

  10. 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;

  11. 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.

  12. Programmation orienté aspect(AOP)

  13. Les bénéfices de l'AOP sont nombreux: • Gain de productivité • Réutilisabilité, des objets comme des aspects • Evolutivité • Qualité du code

  14. 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).

  15. 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

  16. Classes de base de Spring AOP

  17. 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 objet-relationnel • un framework web MVC très souple. Laissant le choix de la technologie à utiliser sur la partie vue,

  18. Le framework JDBC offert par spring se base sur quatre paquetages

  19. org.springframework.jdbc.datasource

  20. org.springframework.jdbc.object

  21. org.springframework.jdbc.support

  22. 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

  23. 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.

More Related