3. JAVA SPRING, C'EST QUOI ?
L’inversion de contrôle
La programmation orientée aspect.
Une couche d’abstraction :elle permet d’intégrer d’autres frameworks et
bibliothèques avec une plus grande facilité.
Sorti en 2003, Spring est un framework libre, créé pour faciliter le développement
et les tests d'applications java.
Spring s’appuie principalement sur l’intégration de 3 concepts clés :
6. SPRING IOC:
IoC (Inversion of control), est un processus qui définit les dépendances d’un objet
sans avoir à les créer. C’est lors de la création des objets, que Spring va injecter les
Beans entre eux afin d’avoir toutes leurs dépendances.
8. Exemple: en utilisant IoC
Code métier
Avec l'annotation @Transactional, nous avons délégué la
gestion des transactions au conteneur Spring IOC
9. Spring Web MVC
Le modèle MVC (Modèle Vue Contrôleur) est un modèle d’architecture pour guider la conception
d’applications qui nécessitent une interaction de l’utilisateur avec le système. Il définit trois grandes
catégories de responsabilité :
Le modèle
La vue
Le contrôleur
Les classes appartenant à cette catégorie définissent les données applicatives échangées entre
l’utilisateur et le système.
Les classes appartenant à cette catégorie gèrent la représentation graphique des données et
l’interface utilisateur
Les classes appartenant à cette catégorie gèrent les interactions de l’utilisateur et la mise à jour des
vues après la modification des données. Les contrôleurs assurent la cohérence entre le modèle et la
vue.
11. Les annotations:
@Controller: Il marque une classe comme un contrôleur (gestionnaire de requetes wab).
@ResponseBody: Il lie la valeur de retour de la méthode au cors de la réponse.
@RestController: Il peut etre considéré comme une combinaison d'annotations @Controller et
@ResponseBody.
@RequestMapping: Il est utilisé pour mapper les requets web
@GetMapping: Pour la méthode GET
@PostMapping: Pour la méthode POST
12. Un contrôleur est une classe Java portant l’annotation @Controller. Pour que le contrôleur soit
appelé lors du traitement d’une requête, il suffit d’ajouter l’annotation @RequestMapping sur
une méthode publique de la classe en précisant la méthode HTTP concernée (par défaut GET)
et le chemin d’URI pris en charge par la méthode.
Controller
13. Dans l’exemple ci-dessus, le contrôleur déclare la méthode getHome qui traite les
requêtes pour le chemin / et la méthode addItem qui traite les requêtes pour le
chemin /item. La première n’accepte que les requêtes de type GET et la seconde que
les requêtes de type POST.
19. Correspond à l’ensemble des données qui sont nécessaires à la construction de la vue.
Le contrôleur a la charge de mettre toutes ces données à la disposition de la vue.
Spring Web MVC représente la notion de modèle avec l’interface Model.
Pour obtenir une instance d’un Model, il suffit de l’ajouter comme paramètre à une méthode de
contrôleur.
cette interface va permettre à un contrôleur d’ajouter des attributs au modèle, c’est-à-dire des
objets, en les associant chacun à un nom unique. Ainsi, une vue pourra directement avoir accès à ces objets
par leur nom.
Le modèle
20. Nous souhaitons afficher l’heure courante du serveur dans une page HTML. Le modèle est simplement
constitué d’un objet Java de type Date.
Le contrôleur pour ajouter la donnée au modèle
La méthode afficherDate du contrôleur attend en paramètre un objet de type Model qui sera fourni par Spring Web MVC à
l’appel. À la ligne 13, on ajoute dans le modèle une nouvelle instance de la classe Date sous le nom now. Le contrôleur
retourne ensuite l’identifiant de la vue affichageDate. Cette vue va pouvoir directement faire référence à l’attribut now du
modèle.