Tutoriel de Spring pas à pas en pdf


Télécharger Tutoriel de Spring pas à pas en pdf

★★★★★★★★★★3.5 étoiles sur 5 basé sur 1 votes.
Votez ce document:

Télécharger aussi :


Tutoriel de Spring pas à pas en pdf

...

Spring Boot : Introduction

Spring MVC un des premiers framework Spring base sur l’API Servlet de Java JEE ´ permettant de simplifier le développement d’applications web en respectant le patron de conception MVC 2

Problèmes trop de dépendance à gérer (ce qui pose souvent un problème d’incompatibilité entre les versions) beaucoup de configuration (JPA, Sécurité, contrôleurs, vues...) ˆ

Spring Boot : encore de l’abstraction

Pour éviter les problèmes de Spring MVC, Spring Boot propose :

Les démarreurs ( starter) : un démarreur est une dépendance, ´ contenant un paquet de dépendance, permettant de réaliser un ´ type de projet (Web, Rest...). Ainsi, le développeur n’a plus à gérer, lui-même le problème d’incompatibilité entre les versions. ´ l’auto-configuration : c’est-a-dire laisser Spring Boot configurer le projet à partir de dépendances ajoutées par le développeur. ´

Exemple, pour créer un projet web, il faut ajouter la dépendance ´

Spring Boot salivate :

 

org.springframework.boot

spring-boot-starter-web

 

Les demarreurs ´ Spring Boot ont la forme

spring-boot-starter-*

Exemple, pour créer un projet web, il faut ajouter la dépendance ´

Spring Boot salivate :

 

org.springframework.boot

spring-boot-starter-web

 

Les démarreurs Spring Boot ont la forme spring-boot-starter-*

Exemple, pour créer un projet web, il faut ajouter la dépendance ´

Spring Boot salivate :

 

org.springframework.boot

spring-boot-starter-web

 

Les démarreurs Spring Boot ont la forme

spring-boot-starter-*

La dependence spring-boot-starter-web inclut les six dependences savants :

 

org.springframework.boot

spring-boot-starter

 

 

org.springframework.boot

spring-boot-starter-json

 

 

org.springframework.boot

spring-boot-starter-tomcat

 

 

org.hibernate.validator

hibernate-validator

 

 

org.springframework

spring-web

 

 

org.springframework

spring-webmvc

 

La dépendance spring-boot-starter-web permet donc de créer un projet web contenant : un serveur Apache Tomcat

Spring Framework et Spring MVC les validateurs d’Hibernate

jackson pour les données sous format JSON ´

...

Un premier projet Spring Boot

Spring Boot : les fondamentaux

Création de projet Spring Boot

Aller dans File > New > Other

Chercher Spring, dans Spring Boot sélectionner Spring Starter Project et cliquer sur Next >

Saisir

FirstSpringBoot dans Name,

com.spring dans Group,

FirstSpringBoot dans Artifact

com.spring.demo dans Package

Cliquer sur Next >

Chercher et cocher les cases correspondantes aux Web puis cliquer sur Next >

Valider en cliquant sur Finish

Spring Boot : les fondamentaux

Pourquoi a-t-on coche la case ´ Web a la création du projet ? Pour ajouter la dépendance spring-boot-starter-web

Contenu de la section dépendances de pom.xml

 

 

org.springframework.boot



spring-boot-starter-web

 

 

org.springframework.boot

spring-boot-starter-test

test

 

 

Spring Boot : les fondamentaux

Pour la compatibilité d’apache Tomcat avec les JSP, on ajoute la dépendance suivante

 

org.apache.tomcat

tomcat-jasper

9.0.12

 

La version d’Apache Tomcat doit être la même que celles qui existent dans Maven Dépendances

Un premier projet Spring Boot

Spring Boot : les fondamentaux

Remarques

Le package contenant le point d’entrée de notre application (la classe contenant le public static void main) est com.spring.demo

Tous les autres packages dao, model... doivent être dans le package demo.

Un premier projet Spring Boot

Spring Boot : les fondamentaux

Le point de démarrage de l’application package com.spring.demo;

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication

public class FirstSpringBootApplication {

public static void main(String[] args) {

SpringApplication.run(FirstSpringBootApplication.class, args);

}

}

Mai 2018, M2I Aix en Provence 12 / 72

Un premier projet Spring Boot

Spring Boot : les fondamentaux

Explication

SpringApplication : la classe de démarrage d’une application Spring et qui va créer une instance de la classe ApplicationContext

ApplicationContext : l’interface centrale d’une application Spring permettant de fournir des informations de configuration a l’application. `

@SpringBootApplication : contient les 3 annotations suivantes

@Configuration : fait partie du noyau de Spring Framework et indique que la classe annote peut contenir des méthodes annotées

par @Bean. Ainsi, Spring Container peut traiter la classe et générer des beans qui seront utilisés par l’application. ´

@EnableAutoConfiguration : permet, au démarrage de Spring, de générer automatiquement les configurations nécessaires en fonction des dépendances ajoutées.

@ComponentScan : demande de scanner ce package contenant de Beans de configuration

Spring Boot : les fondamentaux

Pour exécuter

Faire un clic droit sur FirstSpringBoot dans Package

Explorer

Aller dans Run As et cliquer sur Spring Boot App

La console nous indique

Tomcat started on port(s): 8080 (http) with contextpath ’’

Pour exécuter ´

Faire un clic droit sur FirstSpringBoot dans Package

Explorer

Aller dans Run As et cliquer sur Spring Boot App

La console nous indique

Tomcat started on port(s): 8080 (http) with contextpath ’’

Pour exécuter

Faire un clic droit sur FirstSpringBoot dans Package

Explorer

Aller dans Run As et cliquer sur Spring Boot App

La console nous indique

Tomcat started on port(s): 8080 (http) with contextpath ’’

Resultat : message d’erreur ´

On a créé un projet web, mais on n’a aucune page HTML, JSP ou autre

Spring Boot, comme Spring MVC, implémente le patron de conception MVC, donc il nous faut au moins un contrôleur et une vue.

Le contrôleur

Le contrôleur un des composants du modelé MVC une classe Java annotée par ´ Controller ou RestController



Il reçoit une requête du contrôleur frontal et communique avec le modèle pour préparer et retourner une réponse à la vue

Le controleur

Création du contrôleur

Faire clic droit sur le projet

Aller dans new > class

Choisir le package com.spring.demo.controller

Saisir HomeController comme nom de classe

Ensuite valider

Remplac¸ons le contenu du HomeController par le code suivant :

package com.spring.demo.controller;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RequestMethod;

@Controller

public class HomeController {

@RequestMapping(value="/hello", method = RequestMethod.GET)

public void sayHello() {

System.out.println("Hello World!");

}

}

Le contrôleur

Explication

La première ligne indique que notre contrôleur se trouve dans le package com.spring.demo.controller

Les trois imports concernent l’utilisation des annotations

L’annotation @Controller permet de déclarer que la classe suivante est un contrôleur Spring

La valeur de l’annotation @RequestMapping indique la route (/hello ici) et la méthode permet d’indiquer la méthode HTTP (get ici, c’est la méthode par défaut). On peut aussi utiliser le raccourci @GetMapping(value="/url")

Remplaçons le contenu du HomeController par le code suivant :

package com.spring.demo.controller;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.GetMapping;

@Controller

public class HomeController {

@GetMapping(value="/hello")

public void sayHello() {

System.out.println("Hello World!");

}

}

Testons tout cela

Démarrer le serveur Apache Tomcat

Aller sur l’url http://localhost:8080/hello et vérifier qu’un

Hello World! a bien été affiché dans la console (d’Eclipse)

Remarque

On peut aussi annoter le controleur par le ˆ @RequestMapping

@Controller

@RequestMapping("/hello")

public class HelloController {

...

}

DevTools outil de développement fonctionnant en mode développement permettant de redémarrer le projet après chaque changement

Dependence Maven à jouster

 

org.springframework.boot

spring-boot-devtools

 

DevTools outil de développement fonctionnant en mode développement permettant de redémarrer le projet après chaque changement `

Dependence Maven à ajouter

 

org.springframework.boot

spring-boot-devtools

 

DevTools

Devtools

Avant utilisation, il faut vider le cache du projet le mettre a jour



339