devstory

Le Tutoriel de Spring Boot pour débutant

  1. Qu'est-ce que c'est Spring Boot?
  2. Les objectives de ce document:
  3. Créez le projet Spring Boot
  4. Quelques explications de Spring Boot
  5. Exécutez le projet Spring Boot:
  6. Comment fonctionne Spring Boot?
  7. Des technologies appliquées à la couche View
  8. Annexe: Configuration Server

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:
  • 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

Show More