Le Tutoriel de Spring Boot pour débutant
1. Qu'est-ce que c'est Spring Boot?
Spring Boot est un projet qui se trouve sur la couche de IO Execution la couche de Spring IO Framework.
Spring Boot est une étape avancée qui implifier le démarrage et le développement de nouvelles applications Spring. Avec Spring Boot, des configurations de Spring sont atténuées. Spring Boot soutient des conteneurs embarqués (embedded containers). Cela permet des application web d'exécuter indépendemment sans déploiement sur Web Server.
Vous pouvez utiliser spring boot afin de créer l'application Java Web application qui exécute par la ligne de commande 'java -jar' ou exporter le fichier war pour déploỷe sur le Web Server comme d'habitude. Spring Boot vous donne un "CLI Tool" pour exécutez le scénario du Spring (spring scripts).
Spring Boot est une étape avancée qui implifier le démarrage et le développement de nouvelles applications Spring. Avec Spring Boot, des configurations de Spring sont atténuées. Spring Boot soutient des conteneurs embarqués (embedded containers). Cela permet des application web d'exécuter indépendemment sans déploiement sur Web Server.
Vous pouvez utiliser spring boot afin de créer l'application Java Web application qui exécute par la ligne de commande 'java -jar' ou exporter le fichier war pour déploỷe sur le Web Server comme d'habitude. Spring Boot vous donne un "CLI Tool" pour exécutez le scénario du Spring (spring scripts).
Spring Boot peut s'expliquer simplement par l'illustration ci-dessous:
Les avangtages du Spring Boot sont:
- Il est facile de développer l'application basées sur Spring avec Java ou Groovy.
- Il diminue énormément du temps et augmente la productivité.
- Il évite d'écrire plusieurs de codes d'expressions standard (boilerplate Code), des Annotations et des configurations XML.
- Il est très facile d' intégrer des applications Spring Boot avec ses écosystème de Spring comme Spring JDBC, Spring ORM, Spring Data, Spring Security etc.
- Il suis l'approche “Configuration par défaut” afin de diminuer le temps et l'effort de développement.
- Il fournit des serveurs intégrés (Embedded HTTP servers) comme Tomcat, Jetty .... afin de développer et de tester des applications web à la manière la plus facilement.
- Il fournit l'outil CLI (Command Line Interface) afin de développer et de tester des applications Spring Boot(Java ou Groovy) à partir de l'invite de commande (command prompt) facilement et rapidement.
- Il fournit beaucoup de plugins afin de développer et de tester des applications Spring Boot rapidement en utilisant les outils de Build comme Maven et Gradle
- Il fournit beaucoup de plugins afin de travailler avec des serveurs intégrés et la base de données stockées dans la mémoire Databases) facilement.
2. Les objectives de ce document:
This post is based on:
- Eclipse 4.7 (Oxygen)
- Spring Boot 2.x
Dans ce document, je vais créer une application nommée Hello Spring Boot, elle est une application web simple qui utilise Spring Boot, et elle exécute en autonomie sans déploiement sur Web Server.
Spring Tool Suite (STS)Pour construire des applicationsSpring Boot sur IDE Eclipse vous devez installer Spring Tool Suite, c'est un Plugin étendu qui soutient le programmeur Spring sur Eclipse.
Si vous ne l'avez pas installé, observez des instructions ci-dessous:
3. Créez le projet Spring Boot
Sur Eclipse créez un projet en utilisant Spring Tool Suite (STS):
- File/New/Other...
- Name: HelloSpringBoot
- Group: org.o7planning
- Artifact: HelloSpringBoot
- Package: org.o7planning.hellospringboot
Le projet est créé, dont la structure par défaut sont comme suivant:
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.o7planning</groupId>
<artifactId>HelloSpringBoot</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>HelloSpringBoot</name>
<description>Hello Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.0.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
4. Quelques explications de Spring Boot
Dans l'étape précédente, vous venez de créer un projet Spring Boot Project, observez son contenu pom.xml:
pom.xml
Il y a 3 points clés dans pom.xml (1),(2), (3) comme indiqué au- dessous là, Spring Boot vous soutient de simplifier la déclaration des bibliothèques de Spring.
spring-boot-starter-parent
spring-boot-starter-parent est un projet disponible dans Spring Boot. Les bibliothèques tributaires sont déclarées dans spring-boot-starter-parent, votre projet en seulement hérite. Vous devez uniquement déclarer <parent> dans le fichier pom.xml de votre projet.
** spring-boot-starter-parent **
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-parent -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.0.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
Vous pouvez écraser la dépendance par défaut de Spring Boot. Ce sujet va être dégagé ici:TODO
spring-boot-starter-web
Les autres "Starter" fournissent simplement des dépendances que vous êtes probable d'avoir besoin quand vous développez un type particulier de l'application. Par exemple, quand vous développez une applicaton web, vous avez besoin d'une dépendance spring-boot-starter-web.
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
spring-boot-maven-plugin
Spring-boot-maven-plugin est un plugin qui fournit des bibliothèques nécessaires qui soutient votre projet d'être capable d'exécuter directement sans déploiement sur le serveur web. Il aide à créer un fichier jar qui est exécutable (Executable).
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!-- ... -->
</plugins>
5. Exécutez le projet Spring Boot:
Dans l'étape précédente, vous avez créé le projet HelloSpringBoot par Eclipse & Spring Tool Suite, et il n'y a aucun changement. Tout cela est créé par défaut. Maintenant, vous avec quelques étapes pour exécuter l'application.
Votre application HelloSpringBoot est en train d'exécuter, vous pouvez essayer ce lien:
Un message d'erreur "404 Not found" va apparaître quand vous exécutez ledit lien, mais il n'y a aucun problème grave parce que votre projet n'a aucune page jusqu'à présent.
Créez le fichier style.css dans le dossier static:
style.css
h1 {
color: red;
}
Et réexécutez l'application avec le lien:
Run Configuration...Vous pouvez changer des paramètres pour Serveur par exemple le port, contextPath,... Ces problèmes sont mentionnés dans l'annexe à la fin de ce poste.
6. Comment fonctionne Spring Boot?
Quand vous créez un "Spring Boot Web Appp", il y a 1 classes qui sont créées, et sont générées (generate) par l'outil "Spring Tool Suite":
- HelloSpringBootApplication
Votre application est commencées par l'exécution la classe HelloSpringBootApplication. Cette classes est annotées par @SpringBootApplication.
HelloSpringBootApplication.java
package org.o7planning.hellospringboot;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class HelloSpringBootApplication {
public static void main(String[] args) {
SpringApplication.run(HelloSpringBootApplication.class, args);
}
}
L'annotation @SpringBootApplication équivaut à utiliser @Configuration, @EnableAutoConfiguration et @ComponentScan avec ses attributs par défaut.
Donc @SpringBootApplication vous aide de configurer automatiquement Spring, et automatiquement scanner (Scan) le projet intégral afin de découvrir des composants de Spring (Controller, Bean, Service,...)
8. Annexe: Configuration Server
Vous êtes en train d'exécuter l'application Spring Boot, vous pouvez changer des configurations du serveur, telles que le port, contextPath, ....
Changez Serveur HTTP Port:
Vous pouvez changer des autres propriétés si vous voulez, Eclipse va proposer les propriétés modifiables et leurs significations.
Tutoriels Spring Boot
- Installer Spring Tool Suite pour Eclipse
- Le Tutoriel de Spring pour débutant
- Le Tutoriel de Spring Boot pour débutant
- Propriétés communes de Spring Boot
- Le Tutoriel de Spring Boot et Thymeleaf
- Le Tutoriel de Spring Boot et FreeMarker
- Le Tutoriel de Spring Boot et Groovy
- Le Tutoriel de Spring Boot et Mustache
- Le Tutoriel de Spring Boot et JSP
- Le Tutoriel de Spring Boot, Apache Tiles, JSP
- Utiliser Logging dans Spring Boot
- Surveillance des applications avec Spring Boot Actuator
- Créer une application Web multilingue avec Spring Boot
- Utiliser plusieurs ViewResolvers dans Spring Boot
- Utiliser Twitter Bootstrap dans Spring Boot
- Le Tutoriel de Spring Boot Interceptor
- Le Tutoriel de Spring Boot, Spring JDBC et Spring Transaction
- Le Tutoriel de Spring JDBC
- Le Tutoriel de Spring Boot, JPA et Spring Transaction
- Le Tutoriel de Spring Boot et Spring Data JPA
- Le Tutoriel de Spring Boot, Hibernate et Spring Transaction
- Intégration de Spring Spring, JPA et H2 Database
- Le Tutoriel de Spring Boot et MongoDB
- Utiliser plusieurs DataSources avec Spring Boot et JPA
- Utiliser plusieurs DataSources avec Spring Boot et RoutingDataSource
- Créer une application de connexion avec Spring Boot, Spring Security, Spring JDBC
- Créer une application de connexion avec Spring Boot, Spring Security, JPA
- Créer une application d'enregistrement d'utilisateur avec Spring Boot, Spring Form Validation
- Exemple de OAuth2 Social Login dans Spring Boot
- Exécuter des tâches planifiées en arrière-plan dans Spring
- Exemple CRUD Restful WebService avec Spring Boot
- Exemple Spring Boot Restful Client avec RestTemplate
- Exemple CRUD avec Spring Boot, REST et AngularJS
- Sécurité Spring RESTful Service utilisant Basic Authentication
- Sécuriser Spring Boot RESTful Service en utilisant Auth0 JWT
- Exemple Upload file avec Spring Boot
- Le exemple de Download file avec Spring Boot
- Le exemple de Upload file avec Spring Boot et jQuery Ajax
- Le exemple de Upload file avec Spring Boot et AngularJS
- Créer une application Web Panier avec Spring Boot, Hibernate
- Le Tutoriel de Spring Email
- Créer une application Chat simple avec Spring Boot et Websocket
- Déployer le application Spring Boot sur Tomcat Server
- Déployer le application Spring Boot sur Oracle WebLogic Server
- Installer un certificat SSL gratuit Let's Encrypt pour Spring Boot
- Configurer Spring Boot pour rediriger HTTP vers HTTPS
Show More