Introduction - IGMdr/XPOSE2012/spring/ressources/...Introduction Historique Projets Modules Concepts...

17
Exposés logiciels, systèmes réseaux DOUILLY Thibault Informatique et Géomatique 3 ème année 17 Décembre 2012

Transcript of Introduction - IGMdr/XPOSE2012/spring/ressources/...Introduction Historique Projets Modules Concepts...

Page 1: Introduction - IGMdr/XPOSE2012/spring/ressources/...Introduction Historique Projets Modules Concepts IoC AOP SpEL Spring ROO Conclusion Références Douilly Thibault - IG3 17 Décembre

Exposés logiciels, systèmes réseaux

DOUILLY Thibault Informatique et Géomatique 3ème année 17 Décembre 2012

Page 2: Introduction - IGMdr/XPOSE2012/spring/ressources/...Introduction Historique Projets Modules Concepts IoC AOP SpEL Spring ROO Conclusion Références Douilly Thibault - IG3 17 Décembre

Introduction Historique Projets Modules Concepts ◦ IoC ◦ AOP ◦ SpEL

Spring ROO Conclusion Références

17 Décembre 2012 Douilly Thibault - IG3 2

Page 3: Introduction - IGMdr/XPOSE2012/spring/ressources/...Introduction Historique Projets Modules Concepts IoC AOP SpEL Spring ROO Conclusion Références Douilly Thibault - IG3 17 Décembre

Pourquoi Spring ?

« Maman, c’est quoi Spring ? » ◦ Framework Java (EE) ++

◦ Libre & open-source (licence Apache 2.0)

◦ Conteneur léger

Utilisation principale ◦ Facilite la programmation

avec des POJO

17 Décembre 2012 Douilly Thibault - IG3 3

Page 4: Introduction - IGMdr/XPOSE2012/spring/ressources/...Introduction Historique Projets Modules Concepts IoC AOP SpEL Spring ROO Conclusion Références Douilly Thibault - IG3 17 Décembre

2004 : Création SpringSource – Rod Johnson

Version 1 de Spring Framework

2006 : Version 2 de Spring Framework

2009 : Rachat par VMWare

Version 3 de Spring Framework

Aujourd’hui : Version 3.2 (13/12/2012)

17 Décembre 2012 Douilly Thibault - IG3 4

Page 5: Introduction - IGMdr/XPOSE2012/spring/ressources/...Introduction Historique Projets Modules Concepts IoC AOP SpEL Spring ROO Conclusion Références Douilly Thibault - IG3 17 Décembre

17 Décembre 2012 Douilly Thibault - IG3 5

Page 6: Introduction - IGMdr/XPOSE2012/spring/ressources/...Introduction Historique Projets Modules Concepts IoC AOP SpEL Spring ROO Conclusion Références Douilly Thibault - IG3 17 Décembre

Le cœur de Spring Framework 3 est composé d'un ensemble d'une vingtaine de modules qui sont regroupés en plusieurs grandes parties : ◦ Spring Core Container : regroupe les modules de base

pour mettre en œuvre le conteneur ◦ AOP and Instrumentation : permet de mettre en œuvre

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

17 Décembre 2012 Douilly Thibault - IG3 6

Page 7: Introduction - IGMdr/XPOSE2012/spring/ressources/...Introduction Historique Projets Modules Concepts IoC AOP SpEL Spring ROO Conclusion Références Douilly Thibault - IG3 17 Décembre

IoC : Inversion de Contrôle ◦ Permet l’injection de dépendance Gère le cycle de vies des beans

AOP : Programmation Orientée Aspect ◦ Permet de créer dynamiquement des proxys

s’exécutant à des événements choisis

SpEL : Spring Expression Langage (Spring 3) ◦ Annotations ◦ Fichier de configuration

17 Décembre 2012 Douilly Thibault - IG3 7

Page 8: Introduction - IGMdr/XPOSE2012/spring/ressources/...Introduction Historique Projets Modules Concepts IoC AOP SpEL Spring ROO Conclusion Références Douilly Thibault - IG3 17 Décembre

Par fichier de configuration

Voir la démo

17 Décembre 2012 Douilly Thibault - IG3 8

Page 9: Introduction - IGMdr/XPOSE2012/spring/ressources/...Introduction Historique Projets Modules Concepts IoC AOP SpEL Spring ROO Conclusion Références Douilly Thibault - IG3 17 Décembre

Par annotations

◦ @Scope : singleton, prototype, session ou request

◦ @Autowired : injection automatique par type

◦ @Required : valide une injection de dépendances

◦ @Qualifier : donne un nom si plusieurs instances

◦ @Resource : injection automatique par nom

◦ @Configurable : injecte les dépendances d'un bean bien que son conteneur ne gère pas son cycle de vie

◦ @PostConstruct : appelle de méthode à l’instanciation

◦ @PreDestroy : appelle de méthode à la destruction de l’instance

◦ …

17 Décembre 2012 Douilly Thibault - IG3 9

Page 10: Introduction - IGMdr/XPOSE2012/spring/ressources/...Introduction Historique Projets Modules Concepts IoC AOP SpEL Spring ROO Conclusion Références Douilly Thibault - IG3 17 Décembre

Par fichier de configuration

Voir la démo

17 Décembre 2012 Douilly Thibault - IG3 10

Page 11: Introduction - IGMdr/XPOSE2012/spring/ressources/...Introduction Historique Projets Modules Concepts IoC AOP SpEL Spring ROO Conclusion Références Douilly Thibault - IG3 17 Décembre

Par annotations

@Before : le code est exécuté avant l'exécution de la méthode

@AfterReturning : le code est exécuté après l'exécution de la méthode qui renvoie une valeur de retour (aucune exception n'est levée)

@AfterThrowing : le code est exécuté lorsqu'une exception est levée suite à l'invocation de la méthode

@After : le code est exécuté après l'exécution de la méthode, même si une exception est levée.

@Around : le code de l'aspect permet de lancer l'exécution de la méthode et ainsi de réaliser des traitements avant et des traitements après

17 Décembre 2012 Douilly Thibault - IG3 11

Page 12: Introduction - IGMdr/XPOSE2012/spring/ressources/...Introduction Historique Projets Modules Concepts IoC AOP SpEL Spring ROO Conclusion Références Douilly Thibault - IG3 17 Décembre

Fichier de configuration

Annotations

17 Décembre 2012 Douilly Thibault - IG3 12

Page 13: Introduction - IGMdr/XPOSE2012/spring/ressources/...Introduction Historique Projets Modules Concepts IoC AOP SpEL Spring ROO Conclusion Références Douilly Thibault - IG3 17 Décembre

Outil de SpringSource

Création en 2009 – Version actuelle : 1.2.2

Plusieurs particularités ◦ Capable de monter rapidement une application Web

Java

◦ Dit « fullstack » qui s’occupe de toutes les couches d’une l’application

◦ Gère le code rébarbatif

17 Décembre 2012 Douilly Thibault - IG3 13

Page 14: Introduction - IGMdr/XPOSE2012/spring/ressources/...Introduction Historique Projets Modules Concepts IoC AOP SpEL Spring ROO Conclusion Références Douilly Thibault - IG3 17 Décembre

Comment créer rapidement un projet ?

Voir la démo

17 Décembre 2012 Douilly Thibault - IG3 14

Page 15: Introduction - IGMdr/XPOSE2012/spring/ressources/...Introduction Historique Projets Modules Concepts IoC AOP SpEL Spring ROO Conclusion Références Douilly Thibault - IG3 17 Décembre

17 Décembre 2012 Douilly Thibault - IG3 15

Les plus + Standard + Intégration avec d’autres Frameworks + Communauté importante

Les moins - Application un peu lourde - Mise en œuvre compliquée

Page 17: Introduction - IGMdr/XPOSE2012/spring/ressources/...Introduction Historique Projets Modules Concepts IoC AOP SpEL Spring ROO Conclusion Références Douilly Thibault - IG3 17 Décembre

17 Décembre 2012 Douilly Thibault - IG3 17