Dernière modification : 11/06/2022

Spring Boot - Quick Start

Dans cet article nous allons voir comment débuter avec Spring Boot 2.

Technologies utilisées :

  • Spring Boot 2
  • Thymeleaf
  • Java 11

1. Introduction

Spring Boot est un framework facilitant la création d'application web autonome basé sur Spring, pouvant être déployé en production. Les applications Spring Boot nécessitent une configuration minimale pour fonctionner ce qui en font une solution rapide à utiliser.

2. Installation

Afin de préparer l'installation facilement et rapidement, utiliser le générateur de projet disponible à cet adresse : https://start.spring.io . Ajouter Spring web, JPA et la base de données h2 afin de pouvoir les utiliser dans notre application dans un futur tutoriel.

On remarquera que dans le fichier pom.xml, le nœud parent automatiquement généré est le suivant :

<parent>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-parent</artifactId>
	<version>2.4.1</version>
	<relativePath/>
</parent>

Les dépendances automatiquement générées sont les suivantes :

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
    <groupId>com.h2database</groupId>
    <artifactId>h2</artifactId>
    <scope>runtime</scope>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
</dependency>

3. Configuration

Le Main de l'application se trouve dans le fichier SpringBootApplication.java :

@SpringBootApplication
public class SpringbootApplication {
	public static void main(String[] args) {
		SpringApplication.run(SpringbootApplication.class, args);
	}
}

L'annotation @SpringBootApplication regroupe plusieurs annotations qui vont préconfigurer notre application. Il regroupe entre autre @Configuration, @EnableAutoConfiguration et @ComponentScan.

Le fichier application.properties permet également de configurer l'application. Il est par exemple possible de changer le port du serveur (par défaut 8080). La liste des propriétés utilisables est disponible à cette adresse : https://docs.spring.io/spring-boot/docs/current/reference/html/appendix-application-properties.html .

4. Création du controller

Créer le fichier BasicController.java et insérer le contenu suivant :

@Controller
public class BasicController {
	@GetMapping("/")
	public String welcomePage(Model model) {
		model.addAttribute("date", new Date().toString());

		// Return the view
		return "welcome";
	}
}

L'annotation @Controller permet de définir une class comme étant un controller. L'annotation @GetMapping définit la méthode à exécuter lors de la réception d'un HTTP GET.

5. Création de la vue

Nous allons utiliser Thymeleaf pour la génération de la vue. Tout d'abord, insérer la dépendance suivante dans le fichier pom.xml :

<dependency> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-thymeleaf</artifactId> 
</dependency>

Configurer le fichier de properties application.properties avec l'information suivante :

spring.thymeleaf.cache=false

Dans le dossier src/main/ressources/templates, créer le fichier welcome.html et insérer le contenu suivant :

<!DOCTYPE html>
<html>
<head>
<title>Welcome Page</title>
</head>
<body>
	<h1>Welcome !</h1>
	<p>
		Welcome ! The date : <span th:text="${date}">00:00:00</span>
	</p>
</body>
</html>

6. Exécution

Pour Lancer l'application, sous Eclipse, réaliser un clic droit sur le projet, puis Run As -> Spring Boot App et se positionner sur l'URL suivante par défaut : http://localhost:8080/ . La page d'accueil devrait s'afficher et donner la date et l'heure actuelle.

7. Conclusion

Spring Boot permet de réaliser rapidement une application web, configurant la majeure partie de l'application à notre place.

LauLem.com - Conditions Générales d'Utilisation - Informations Légales - Charte relative aux cookies - Charte sur la protection des données personnelles - A propos