Spring MVC, IOC, AOP Réalisé par: Mustapha EL-KABOUS.

Slides:



Advertisements
Présentations similaires
Plan Portlets La norme JSR-168 Qu'est-ce qu'une Portlet ?
Advertisements

JAVASERVER FACES Un framework Java pour le développement Web.
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
19 Mai 2009 CADOT, ROMON, NOEL, GUILLOUET, MONGENET-LAMAISON.
Découverte des Framework : SPRING & JAXB
Struts.
Page 1 Un scénario ? = une trame, des phases ou étapes, abordant diverses activités & processus = « ce que l’on donne » / « ce qu’ils font » / « pour quelles.
EJB 2 et spécialisation Présentation. Spécialisation La spécialisation Concept objet implémenté dans les langages dits orientés objet. Très souvent accompagné.
Projet de fin d'étude pour l'obtention du Diplôme Nationale d'Ingénieur en Informatique Conception et développement des modules de GED pour l’ indexation.
Logiciel Assistant Gestion d’Événement Rémi Papillié (Chef d’équipe) Maxime Brodeur Xavier Pajani Gabriel Rolland David St-Jean.
Système de gestion d'entrées pour un cinéma Scanvion Michel – Etudiant 4.
Commerce électronique Automne  ASP.NET propose actuellement 4 Framework d’authentification: ◦ Asp.net Membership ◦ ASP.NET Simple Membership.
22/09/2016 OSSGTP - Présentation Spring 1 Sommaire  Architectures en couches et conteneurs légers  Spring  Spring Core  Spring AOP  Accès aux données.
Les systèmes d'information 1- Une pratique quotidienne 2- Les données 3- Approche conceptuelle 4- Notion de serveur 5- Conception d'un système d'information.
Projet de fin d'étude Master ALMA Application de sondage.
Présentation Projet JEE Présentation des Frameworks Java Server Faces & Eclipse Link.
1 UML: applications, études de cas ● Processus (Extreme Programming, Unified Process) ● Architectures ● Expression du besoin technique Conception Préliminaire.
Vers les usages... Le projet EnvOLE séminaire EOLE novembre 2006, Dijon Accueil Orientations Architecture Socle > EnvOLE Services > Centre de ressources.
1 Les technologies XML Cours 3 : XML et les architectures N-tiers Janvier Version 2.0 -
Pour plus de modèles : Modèles Powerpoint PPT gratuitsModèles Powerpoint PPT gratuits Page 1 Free Powerpoint Templates Client service architecteur réseaux.
AMUE – SIFAC Intégration Fichier Mouvements BDF
Framework EHop/Ecenvir
I- ANALYSE DU BESOIN / Plan
Modèle objet : les classes
Environnement de développement des BD
Plan de la présentation
Pas de variable globale
Les notions de classe et d'objet
Master Réseaux et Systèmes Distribués (RSD) Algorithmique des systèmes
Sécurisation de l’accès Internet
OWL-S.
Outils de gestion documentaire
Principes de programmation (suite)
Clients riches RIA (Rich Internet Application) / RDA
MVC et applications Web
Développement JAVA pour plateforme ANDROID
fonctionnalités iiS iis
Langages de programmation TP10
Les processus métiers : concepts, modèles et systèmes Claude Godart Université de lorraine. Esstin
Réalisation d’une application web sous le thème: «Mon vétérinaire » par : Benzineb Asmaa et Meftahi Oualid Présentation à Université Saad Dahlab Blida.
Système flexible de Workflow pour la plate-forme Motu
Développement d’un réseau social de collaboration destiné aux médecins radiologues Soutenance de projet de fin d’étude En vue de l’obtention du diplôme.
Août 2009.
Afficher les Visiteurs Médicaux
Programmation en C++ C++ de base
Modélisation avec UML 2.0 Partie II Diagramme de classes.
Plus de 4000 langages....
Présentation de frameworks J2EE 1 LIU Sizhao LUO Xin MALICK MANDENGUE Serge.
Outils et principes de base. Exemple d’application  Gestion de données d’enquête : Interface de saisie en ligne  insère directement les données dans.
Auditeur: Léonardo AMODIO Cours: NFE107
Architecture BD Récif.
Catherine Cyrot - bibliothèques numériques - Cours 5
Architectures Logicielles Java GLG203 GLG204
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault
DESIGN PATTERN BUILDER KADRI LOUBNA CHARMATI SEWSEN.
BIOS- OS Environnement logiciel PC / Traitement numérique / Contrôle.
Design Pattern - Decorator
Atos, Atos et le poisson, Atos Origin et le poisson, Atos Consulting ainsi que le poisson seul sont des marques déposées d'Atos Origin SA. © 2006 Atos.
Présentation Maverick / CookXML
Principes de programmation (suite)
FRAMEWORKS : XMLBEANS / STRIPES
Notions d'architecture client-serveur. Présentation de l'architecture d'un système client/serveur Des machines clientes contactent un serveur qui leur.
Lecture/Écriture de fichiers (I/O)
Design Patterns en programmation par objets
YII Yes It Is !.
Catherine Cyrot - bibliothèques numériques - Cours 5
Bases de données Singleton pour la connexion
Contenu Systèmes de test parallèles Multithreading Synchronisation
Qu’est ce qu’une page web? Comment fonctionne un site web?
Architecture Logicielle « Entreprise Java Beans(EJB) »
Transcription de la présentation:

Spring MVC, IOC, AOP Réalisé par: Mustapha EL-KABOUS

Qu'est ce que Spring Framework pour construire et définir l'infrastructure d'une application java. Conteneur léger, c'est-à-dire une infrastructure similaire à un serveur d'application J2EE. Il prend donc en charge la gestion de cycle de vie des 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 (des EJBs comme exemple).

Spring VS Struts Le framework Struts ne s'intéresse qu'à la couche web et n'apporte pas d'outils pour les deux autres couches du 3tier. Le framework Spring, apparu plus récemment que Struts, a tout d'abord été apprécié pour les outils qu'il apportait pour la construction des architectures 3tier. Le concept (IOC) de Spring permet notamment de construire une architecture 3tier avec des couches indépendantes les unes des autres. Spring apporte des outils pour construire la couche d'accès aux données grâce à des classes d'intégration de frameworks tels que Hibernate ou JPA.

Composant de Spring Le coeur de Spring Framework 3.0 est composé d'un ensemble d'une vingtaine de modules qui sont regroupés en plusieurs parties: Spring Core Container: regroupe les modules de base pour mettre en oeuvre le conteneur AOP and Instrumentation : permet de mettre en oeuvre l'AOP Data Acces/Integration : regroupe les modules d'accès aux données Web : regroupe les modules pour le développement d'applications web Test : propose des fonctionnalités pour les tests automatisés avec Spring

Spring IOC Le coeur de SPRING et ce qui fait sa très grande force est la mise en œuvre du design pattern « Inversion Of Control » ou encore « Dependency Injection » L'idée du pattern IOC est très simple, elle consiste, lorsqu'un objet A a besoin d'un objet B, à déléguer à un objet C la mise en relation de A avec B. Par défaut, SPRING suppose que les fabriques déclarées sont des fabriques de type « singleton ».

Spring IOC Dependency de Spring core IOC (Maven): RELEASE org.springframework spring-core ${spring.version} org.springframework spring-context ${spring.version}

Spring IOC

Autocablage (autowiring) des beans en spring Sepecification de reference @Qualifier(« userbean ») private User user; Autoriser les annotation dans le declaration

Spring IOC Fichier de déclaration des beans Spring-Customer.xml

Spring IOC Test Main:

Spring MVC Rappel sur MVC : MVC : est un patron de conception visant a découper les applications en couches aux roles distinctes. Spring MVC aide à la création d'applications Web flexibles et faiblement couplés en basant sur le modèle de conception Modèle-Vue-Contrôleur EN JEE: – les vues sont les pages jsp – Le controller c’est la servlet – Le model c’est les JavaBeans

Spring MVC Etapes de fonctionnement de SpringMVC Quand une requête est envoyée à l'infrastructure Spring MVC la séquence suivante d'événements se produit: – Le DispatcherServlet reçoit la première demande. – Le DispatcherServlet consulte le HandlerMapping et appelle le contrôleur associé à la demande. – Le contrôleur traite la demande en appelant les méthodes de service appropriés et renvoie un objet ModeAndView au DispatcherServlet. Le ModeAndView objet contient les données de modèle et le nom de la vue. – Le DispatcherServlet envoie le nom de la vue à un ViewResolver de trouver la réelle Voir invoquer. – Maintenant, le DispatcherServlet passera l'objet de modèle à la vue pour rendre le résultat. – La vue à l'aide des données du modèle rendra le résultat à l'utilisateur.

Spring MVC Schéma globale de Spring MVC

Spring MVC Mise en œuvre de Hello World en Spring MVC 1.Creation d’un projet Maven Web Ajouter le dependencys org.springframework spring-webmvc ${spring.version} javax.servlet jstl 1.1.2

Configuration de fichier web.xml org.springframework.web.context.ContextLoaderListener action org.springframework.web.servlet.DispatcherServlet 1 action / contextConfigLocation /WEB-INF/action-servlet.xml

Création de DispatcherServlet action-servlet.xml

Création de contrôleur (class public class UserController public String getIndex(){ return "index"; method=RequestMethod.GET) public ModelAndView getHome(){ ModelAndView model=new ModelAndView(); model.addObject("msg", « Hello world »); model.setViewName("home"); return model; }

Création des Vues Création des vues : Index.jsp Home.jsp // afficher le contenu de msg -- Proposition d’une amélioration Spring IOC et MVC --Mapping des ressources

Spring AOP + AspectJ Annotation Spring AOP: est un module du framework Spring qui permet une mise en oeuvre d'une partie des fonctionnalités de l'AOP. Programmation Orientée Aspect ( AOP ) complète la programmation orientée objet (POO) en fournissant une autre façon de penser la structure du programme. En plus des classes, AOP vous donne aspects. Spring AOP: c'est juste un intercepteur à intercepter certains processus, par exemple, quand une méthode est exécuter, Spring AOP peut détourner la méthode d'exécution, et d'ajouter des fonctionnalités supplémentaires avant ou après l'exécution de la méthode. Spring AOP utilise des proxys ce qui ne nécessitent pas d'outils particulier comme c'est le cas avec AspectJ pour réaliser le tissage (classloader ou compilateur dédié).

Spring AOP + AspectJ Annotation Quelques annotations class d’interseptation des avant l’exécution de la apres l’exécution de la AfterReturning : Exécuter après la méthode retourne un résultat, d'intercepter le résultat retourné AfterThrowing - Exécuter après la méthode lève une exception

Spring AOP + AspectJ Annotation Jars et dépendances: Les jars de spring core org.springframework spring-aop ${spring.version} org.aspectj aspectjrt org.aspectj aspectjweaver

Configuration de AspectJ

Création de class de LoggingAspectJ

Test main ApplicationContext context = new ClassPathXmlApplicationContext(new String[] {"Spring- Customer.xml"}); User user= (User)context.getBean("userbean"); System.out.println(user.sayHello("Mustapha")); System.out.println("votre nom :"+user.getNom()); Mais avant,on doit crée une classe User contient la méthode sayHello