Démarrer un nouveau projet Spring Boot

https://spring.io/quickstart

Étape 1 : démarrer un nouveau projet Spring Boot

Utiliser start.spring.iopour créer un projet « web ». Dans la boîte de dialogue « Dépendances », recherchez et ajoutez la dépendance « Web » comme indiqué dans la capture d'écran. Appuyez sur le bouton « Générer », téléchargez le zip et décompressez-le dans un dossier sur votre ordinateur.

 

Démarrage rapide sur Start.spring.io

 

Projets créés par start.spring.io contenir Spring Boot, un framework qui permet à Spring de fonctionner dans votre application, mais sans beaucoup de code ou de configuration requis. Spring Boot est le moyen le plus rapide et le plus populaire de démarrer des projets Spring.

Alternative Ctrl Shift P dans Visual Code

Pour créer le projet  il y a une alternative à start.spring.io

Il faut ajouter spring web 

Click droit sur le fichier pom.xml

Selectionner la dépendanace Spring Web

   pom.xml
Logiquement vous devriez avoir cette dépendance dans le pom.xml.
Sinon ajoutez ce code dans pom.xml
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>

Étape 2 : Ajoutez votre code

Ouvrez le projet dans votre IDE et localisez le DemoApplication.java fichier dans le dossier src/main/java/com/example/demo. Modifiez maintenant le contenu du fichier en ajoutant la méthode supplémentaire et les annotations affichées dans le code ci-dessous. Vous pouvez copier et coller le code ou simplement le saisir.

package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

@SpringBootApplication
@RestController
public class DemoApplication {
    public static void main(String[] args) {
      SpringApplication.run(DemoApplication.class, args);
    }
    @GetMapping("/hello")
    public String hello(@RequestParam(value = "name", defaultValue = "World") String name) {
      return String.format("Hello %s!", name);
    }
}

C'est tout le code requis pour créer un simple service Web « Hello World » dans Spring Boot.

La hello()méthode que nous avons ajoutée est conçue pour prendre un paramètre String appelé name, puis combiner ce paramètre avec le mot "Hello"dans le code. Cela signifie que si vous indiquez votre nom "Amy"dans la demande, la réponse sera « Bonjour Amy ».

La annotation @RestController indique à Spring que ce code décrit un point de terminaison qui devrait être mis à disposition sur le Web. Le @GetMapping(“/hello”)indique à Spring d'utiliser notre hello()méthode pour répondre aux demandes envoyées à l'adresse http://localhost:9000/hello . Enfin, le @RequestParam dit à Spring d'attendre une valeur de nom dans la requête, mais si ce n'est pas là, il utilisera le mot "World"par défaut.

 

Pour exécuter le programme, nous allons utiliser le débuggeur

Si vous cliquer sur le lien et que tout se passe bien vous devriez voir un texte hello world!

http://localhost:9000/hello

 

Avec quelques lignes de code et le framework Spring Boot on passe en revue de  nouvelle fonction. L'intérêt d'un framework est de contraindre les développeurs à utiliser des bonnes pratiques pour coder?

  1. Package : package com.imts.api; - Ceci définit le package dans lequel se trouve cette classe.

  2. Imports : Les déclarations d’importation incluent les classes nécessaires pour que cette classe fonctionne correctement.

  3. @SpringBootApplication : C’est une annotation de commodité qui ajoute toutes les fonctionnalités suivantes :

    • @Configuration : Marque la classe comme source de définitions de bean pour le contexte d’application.
    • @EnableAutoConfiguration : Indique à Spring Boot de commencer à ajouter des beans en fonction des paramètres de chemin de classe, d’autres beans et divers paramètres de propriété.
    • @ComponentScan : Indique à Spring de rechercher d’autres composants, configurations et services dans le package com.imts.api, permettant ainsi de les trouver automatiquement.
  4. @RestController : Cette annotation est une combinaison des annotations @Controller et @ResponseBody. Elle indique que la classe est un contrôleur où chaque méthode renvoie un objet de domaine au lieu d’une vue.

  5. main() : C’est la méthode d’entrée de l’application Java. Ici, elle délègue à la méthode statique SpringApplication.run(), qui démarre l’application.

  6. @GetMapping(“/hello”) : Cette annotation mappe les requêtes HTTP GET sur la méthode spécifique. Ici, elle mappe les requêtes GET sur /hello à la méthode hello(). @GetMapping("/hello") définit une route ou un point de terminaison dans une application Spring Boot. Lorsqu’un client envoie une requête HTTP GET à l’URL /hello, la méthode annotée par @GetMapping("/hello") est invoquée. Donc, dans le contexte des applications web, on peut considérer cela comme une “route”.

  7. hello() : Cette méthode renvoie une chaîne formatée qui dit “Hello” suivi du nom fourni. Si aucun nom n’est fourni, elle utilise “World” comme valeur par défaut.

 

Quizz

Que doit-il se passer si vous ajoutez ?name=Moi à la fin de l'URL ?

Modifié le: mardi 7 novembre 2023, 05:48