Le Tutoriel de Spring Boot pour les débutants

View more Tutorials:

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 peut s'expliquer simplement par l'illustration ci-dessous:
Les avangtages du Spring Boot sont:
  1. Il est facile de développer l'application basées sur Spring avec Java ou Groovy.
  2. Il diminue énormément du temps et augmente la productivité.
  3. Il évite d'écrire plusieurs de codes d'expressions standard (boilerplate Code), des Annotations et des configurations XML.
  4. 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.
  5. Il suis l'approche “Configuration par défaut” afin de diminuer le temps et l'effort de développement.
  6. 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.
  7. 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.
  8. 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
  9. 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 applications Spring 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%20http://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,...)

7- Des technologies appliquées à la couche View

Next tutorial:

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.

View more Tutorials: