Spring Boot est un framework Java pour créer rapidement des applications backend. Il a une inversion de contrôle (IoC), c’est-à-dire qu’il prend en charge l’exécution du programme. Le développeur utilisera donc les spécificités de Spring pour charger son code.
Spring permet par exemple de créer des API REST sécurisées, ou d’exécuter des tâches automatisées. Il propose une variété de fonctionnalités pour développer une application : accéder à une base de données, authentifier un utilisateur, gérer des transactions… Il inclut aussi un ensemble de bibliothèques tierces qui est prêt à être utilisé dans le programme.
On retrouvera souvent une application Spring en architecture trois tiers (présentation, métier, persistance). Les couches sont facilement identifiables dans le code grâce aux annotations Spring, et elles sont liées dynamiquement par l’injection de dépendance.
Il y a la possibilité d’ajouter des tests automatiques. En démarrant le contexte Spring dans les tests, il permettra aux développeurs de tester l’intégration d’une couche présentation ou métier. De plus, la source de données dans l’application peut être intervertie par une autre base de données pendant les tests.
Pour le déploiement d’une application web, Spring embarque un serveur Tomcat ou Jetty. L’application délivrée est prête à démarrer en production, facilitant l’installation des microservices dans le cloud. Lorsque l’application tourne en production, il y a aussi des fonctionnalités supplémentaires pour pouvoir la gérer ou la surveiller à distance.
Spring propose des services complémentaires aux architectures en microservices, par exemple un registre de microservices connectés qui permet de les faire communiquer entre eux, s’affranchissant d’une configuration réseau. Ce framework open source a encore un bel avenir… Il est moderne, comme une grosse boîte à outils, et toujours très pratique à utiliser.