La Révolution Spring Boot


Spring est un framework très populaire pour créer des applications web. Il ne se concentre pas sur un aspect du développement mais a des nombreux projets qui tentent de répondre aux besoins de l'entreprise (par exemple avec Spring Integration, Spring Data, Spring Batch, etc.)

Si vous avez travaillé avec Spring dans le passé, vous avez constaté la complexité pour configurer votre application chaque fois que vous aviez besoin de créer une, même si vous aviez l'option d'utiliser des fichiers XML ou du JavaConfig (avec des annotations) .
C'est pourquoi l'équipe Spring nous a apporté (dans la version 4.0 du Spring Framework) Spring Boot: pour atténuer la complexité de la configuration. Eh bien, c'est l'une des raisons.

Spring Boot vous permet également de créer des applications facilement et rapidement avec un serveur intégré (pas besoin de déployer des fichiers .war), ce dont vous aurez certainement besoin pour une architecture de Microservices.

Commençons par un exemple très simple en utilisant Maven.
Vous devez ajouter cet partie à votre fichier pom:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.1.RELEASE</version>
</parent>
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>
Votre application doit avoir la dépendance spring-boot-starter-parent en tant que parent. Il existe d'autres façons de démarrer Spring-Boot, mais nous allons nous en tenir à celui-ci.

Maintenant, tout ce que vous devez faire pour exécuter notre exemple est de créer un contrôleur
package com.example.hello;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
@EnableAutoConfiguration
public class HelloController {


    @RequestMapping("/")
    @ResponseBody    
    public String home(){
        return "How I wish you were here";
    }


    public static void main(String[] args) throws Exception {
        SpringApplication.run(HelloController.class);
    }

}
Nous avons quelques annotations à mentionner. L'annotation @Controller indique à Spring que cette classe traitera les requêtes Web entrantes.
L'annotation @EnableAutoConfiguration indique à Spring-Boot de "deviner" comment vous souhaitez configurer votre application en fonction des dépendances ( des fichiers .jar) que vous avez ajoutées à votre fichier pom.

Parce que nous avons ajouté spring-boot-starter-web comme une dépendance dans notre fichier pom, et comme cette dépendance vient déjà avec Tomcat et Spring MVC, la configuration automatique suppose que nous développons une application Web et configurons Spring en conséquence.

Le @RequestMapping fournit des informations de routage. Il dit à Spring de mapper la méthode "/" à la méthode de base (il s'agit d'une configuration Spring MVC).

Enfin, nous devons ajouter à notre méthode main la classe SpringApplication de Spring-Boot et appeler la méthode run .

SpringApplication va démarrer notre application, en commençant Spring qui, à son tour, démarrera le serveur Tomcat intégré.
Nous allons ajouter le contrôleur HelloController.class en tant que paramètre à la méthode run - c'est la façon de dire à Spring qui est notre composant principal.

Ensuite, tout ce que vous devez faire consiste à exécuter cette commande Maven sur votre ligne de commande (dans le répertoire où se trouve votre fichier pom).

$ mvn spring-boot:run

Ouvrez maintenant votre navigateur et accédez à localhost: 8080. Vous devriez voir...

How I wish you were here

Assez simple, n'est-ce pas? Combien de temps a-t-il pris pour créer cette application?

Sur nos prochaines étapes, nous verrons comment créer des services Web Spring RESTful et comment ajouter iBatis (ou comme on l'appelle aujourd'hui «MyBatis»), un cadre de couche de persistance. Restez à l'écoute !




Comments