Ce livre apporte les éléments clés pour se repérer dans les différentes technologies utilisées dans les projets basés sur Spring. Il prend en compte les différences de configuration liées aux versions de Spring (en version 6.1 au moment de l’écriture) et se base sur des exemples concrets d’utilisation. Il permet au lecteur d’être très rapidement autonome sur un projet d’entreprise qui utilise Spring, que ce soit au début d’un nouveau projet ou pour maintenir un projet existant :...
Ce livre apporte les éléments clés pour se repérer dans les différentes technologies utilisées dans les projets basés sur Spring. Il prend en compte les différences de configuration liées aux versions de Spring (en version 6.1 au moment de l’écriture) et se base sur des exemples concrets d’utilisation. Il permet au lecteur d’être très rapidement autonome sur un projet d’entreprise qui utilise Spring, que ce soit au début d’un nouveau projet ou pour maintenir un projet existant : compréhension du noyau, accès aux données, maîtrise de la couche web. Des connaissances sur le développement Java et notamment le développement d’applications web sont un prérequis indispensable pour tirer le meilleur parti possible du livre.
L’auteur présente tout d’abord les éléments simples et courants de Spring (la configuration, les contextes, les librairies tiers) et explique ensuite certains aspects plus complexes que l’on rencontre souvent dans les projets (Ressources, Bindeurs, Validateurs, Convertisseurs et Tests). La programmation par aspects est expérimentée, les applications web Spring MVC et les Web Services sont détaillés avec les tests unitaires associés. L’auteur présente les nouveautés Spring Boot, Kotlin avec Angular, les applications orientées messages et Spring Batch, une introduction à Reactor et Web- Flux et une description de la partie Spring d’un projet généré à partir de JHipster afin d’illustrer une mise en œuvre très actuelle ainsi qu’une présentation de l’utilisation de GraphQL avec Spring.
Tout au long des chapitres, l’auteur s’appuie sur des exemples fonctionnels afin de permettre l’expérimentation au plus tôt par le lecteur. Dans ce but, des éléments sont en téléchargement sur le site www.editions-eni.fr.
Migration du code vers la version 6 de Spring-core
1. Mise à niveau vers la version 6.0
a. Conteneur de base
b. Le cache
c. Accès aux données et transactions
d. Applications web
2. Migration vers Spring 6.1
a. API retirées
b. Rétention des noms de paramètres
c. Le conteneur de base
d. Mise en cache
e. Accès aux données et transactions
f. Applications web
g. Applications de messages
Migration vers Spring Boot 3
1. Phases préparatoires
a. Examen des dépendances
b. Mise à niveau vers Spring Security 6.0
c. Types de dispatch
d. Examen des exigences système
e. Examen des obsolescences de Spring Boot 2.x
2. Mise à niveau vers Spring Boot 3
a. Migration des propriétés de configuration
b. Spring Framework 6.0
c. Jakarta EE
3. Changements fondamentaux
a. Support des bannières d’images
b. Format de date des journaux
c. Modification @ConstructorBinding
d. Suppression de YamlJsonParser
e. Fichiers d’autoconfiguration
4. Changements dans les applications web
a. URL de Spring MVC et WebFlux
b. Le server.max-http-header-size
c. Apache HttpClient dans RestTemplate
5. Changements dans Actuator
a. Exposition de l’endpoint JMX
b. Renommage de l’Endpoint httptrace en httpexchanges
c. Réponses JSON d’Actuator
d. Sanitisation des endpoints d’Actuator
e. Changements dans Micrometer et les métriques
f. Dépréciation de l’instrumentationSpring Boot 2.x
g. Migration des fournisseurs et contributeurs de balises
h. Configuration automatique des JvmInfoMetrics de Micrometer
i. Propriétés d’export des métriquesd’Actuator
j. Vérification de l’état de MongoDB
6. Changements d’accès aux données
a. Changements dans les propriétésde données
b. Propriétés Cassandra
c. Propriétés Redis
d. Flyway
e. Liquibase
f. Hibernate 6.1
7. Changements dans les propriétésde données
a. MongoDB embarqué
b. R2DBC 1.0
c. Clients et modèles Elasticsearch
d. ReactiveElasticsearchRestClientAutoConfiguration
e. Pilote JDBC MySQL
8. Changements de Spring Security
a. ReactiveUserDetailsService
b. Configuration du fournisseur de confiance SAML2
9. Changements de Spring Batch
a. @EnableBatchProcessing est maintenant déconseillé
b. Jobs Batch multiples
10. Changements de Spring Session
a. Type de stockage de Spring Session
11. Changements de Gradle
a. Résolution simplifiée du nom dela classe principale
b. Configuration des tâches Gradle
c. Fichier build-info.properties
12. Modifications dans Maven
a. Exécution de notre application dans le processusMaven
b. Git Commit ID Maven Plugin
c. Modifications de la gestion des dépendances
13. Autres suppressions
Conclusion
Points clés
Conclusion
Récapitulatif
Le mot de la fin
Hervé LE MORVAN
Hervé LE MORVAN est aujourd'hui expert technique pour de grands comptes de la Banque, de l'Assurance et des Telecoms. Durant ses plus de vingt années d'expérience, il est principalement intervenu en tant que référent technique et formateur dans des équipes de Recherches et Développement ou d'Architectes et en tant que support au développement d’applications sur des missions de migration ou de modernisation de Systèmes d'Informations. À ce titre, il est intervenu dans de nombreux projets de migrations utilisant le socle Spring et connaît parfaitement les attentes des équipes dans ce domaine. C’est toute cette expérience qu’il partage volontiers tout au long des pages de ce livre.