Intergiciels et services
Rappels Spring
M2TIW - TIW1 - Emmanuel Coquery
Composants
(vision très simplifiée)
- Briques logiciels (objets)
- interagissant les unes avec les autres
- pour implémenter une application
- chaque ayant une responsabilité limité
Spring
- Collection de frameworks et de bibliothèques
- basée sur la notion de composant (Spring Bean)
- implémentant/facilitant la mise en œuvre de “design patterns”
Contexte Spring
- Ensemble de composants Spring
- instanciés et configurés
- rendus accessibles les uns aux autres
e.g. par injection via @Autowired
- mecanique de contexte: Spring Core
Exemple de contexte
(vue d’ensemble)
Configuration par annotation Java
- Syntaxe:
@UneAnnotation(p1,p2,...)
- Indique des informations utilisées par le framework pour:
- Faire d’une classe un bean
- Injecter un bean dans un autre
(i.e. le rendre accessible dans un champ)
- Exposer un contrôleur sur une url
- etc
Spring MVC
- Ensemble de composants permettant de mettre en place une application Web
- Permet de définir les composants Web propres à l’application
MVC
@Controller
: indique un composant Contrôleur, à combiner avec @RequestMapping
pour le chemin
@Service
: indique un composant Métier
Rest Controller
@RestController
- spécialisation de
@Controller
- gère les aspects vue dans le cadre d’une API REST
- négociation de contenu
- récupération des paramètres
@RequestBody
, @PathVariable
, …
- chemins et méthodes HTTP
@GetMapping
, @DeleteMapping
, etc
Digression OpenAPI / Swagger
Format pour spécifier une API REST
- Permet de documenter
- Outils (interface web, genération de code)
- Springfox pour générer une spécification à partir du code