C’est quoi Spring Boot ?

Présentation

Spring Boot est un framework développé par Pivotal en 2012 qui connaît depuis environ 4 ans, une explosion du nombre d’utilisateurs. C’est un point d’entrée unique vers tous les projets de la IO Foundation (batch, ligne de commande, web..) que vous pourrez donc utiliser dans votre application.

Grâce à une configuration par défaut, une application Spring Boot permet de développer plus rapidement en se focalisant essentiellement sur le code métier. On dira que Spring Boot a une « opinion ». Bien entendu, ces fonctionnalités par défaut peuvent être modifiées pour correspondre aux besoins. Cela implique de respecter les conventions et règles imposées par Spring afin d’éviter de perdre trop de temps sur de la configuration applicative. Cela nous permet notamment d’éviter d’écrire de multiples fichiers de configuration en XML.

Annotations

Spring Boot propose différentes annotations afin d’appliquer rapidement des rôles et des comportements à des classes de votre application. Voici les principales :

Nom de l’annotationDescription
@SpringBootApplicationPrincipale annotation de l’application de démarrage de Spring Boot. Utilisé une seule fois dans l’application pour déclencher automatiquement l’ensemble des configurations de votre application lors de son exécution.
@AutowiredInjecte des @Component dans votre classe pour que vous puissiez les utiliser.
@ComponentAnnotation générique pour des composants gérés par Spring (bean). Vous pouvez utiliser cette annotation pour des classes qui ne correspondent pas à une couche du modèle MVCS.
@ServiceUn @Component situé dans la couche service de l’application. Par exemple, une classe qui réalise des traitements métiers sur des données.
@RepositoryUn @Component situé dans la couche persistence de l’application. Par exemple, une classe qui manipule des données d’une base MongoDB.
@Controller Un @Component situé dans la couche présentation de l’application. Par exemple, une classe exposant une API REST.
@RequestMapping L’URI de base d’accès à votre API REST. Exemple : @RequestMapping(« /api »)
@RestControllerUne annotation de commodité qui est elle-même annotée avec @Controller et @ResponseBody. Permet d’exposer une API REST.

Starter

Toujours dans un objectif de simplicité, un large choix de dépendances Maven préconçus (starters) sont proposées par Spring et permettent d’ajouter des fonctionnalités à votre application. Un starter est en réalité un pom.xml ou un gradle build file qui définis et gère un ensemble de dépendances avec leurs versions compatibles. Par exemple, le starter « data-jpa » inclus les dépendances « spring-data-jpa », « JSR-303 » et « hibernate ». Notez qu’il est possible de développer son propre starter. Voice la liste des principaux starters disponibles :

Nom du starterDescription
Starter Core Starter d’initialisation incluant l’auto-configuration et le logging de l’application.
Starter Web Pour faire une application Spring MVC Web
Starter Test Pour tester votre application avec JUnit, Hamcrest ou Mockito
Starter Data JPA Pour faire du Spring Data avec JPA
Starter Data REST Pour exposer des services REST
Starter Security Pour sécuriser son application Spring Boot
Starter Actuator Pour monitorer votre application via des endpoints REST disponibles ici.

La liste des starters est disponible ici

Déploiement

Le déploiement de votre projet est facilité notamment par l’intégration d’un serveur embarqué directement dans votre projet Spring Boot. Au lancement de votre projet, Spring Boot lance un exécutable contenant le serveur embarqué qui va à son tour lancer votre projet.

2 Comments

Leave a Comment