Accéder au contenu principal

Articles

Affichage des articles du décembre, 2025

Migration d’une application Spring Boot 2.2 vers Spring Boot 4.0 : retour d’expérience concret

 En 2019, nous avons développé une application métier basée sur : Java 8 Spring Boot 2.2.7 Gradle 6.6.1 Thymeleaf Bootstrap 4.3.1 Environ 40 000 lignes de code Java Fin 2025, voici un retour d’expérience concret sur la migration vers : Java 25 Spring Boot 4.0.1 Gradle 9.2.1 La partie thymeleaf, n'a pas été touché, il y a quelques warning concernant l'obsolescence de certain commande tel que th:include. Une migration plus rapide que prévu Un point important : en moins de 30 minutes, l’application démarrait sur la nouvelle stack. Évidemment, "ça démarre" ne veut pas dire "tout fonctionne", mais ce premier jalon est très révélateur : la base Spring Boot reste solide les outils de migration sont matures la dette technique était maîtrisée Les changements majeurs rencontrés De javax.* à jakarta.* C’est probablement le changement le plus visible. Tous les imports javax.* doivent être migrés ve...

Comment les annotations façonnent le code en Java

  Introduction : L'évolution de la métaprogrammation en Java Traditionnellement, l'inspection des métadonnées (comme les annotations) se faisait au runtime via la Réflexion . Approche puissante mais qui introduit des pénalités de performance et des risques d'erreurs cachées. L'approche moderne en Java est la Génération de Code à la Compilation , notamment via l' Annotation Processing , qui permet de transformer les métadonnées en classes sources compilées. J'ai ajouté cette possibilité à la librarie Formatic pour la gestion des formulaires par cette transition, révélant clairement les forces et faiblesses des deux modèles. 1. Le Modèle Traditionnel : Réflexion (Runtime) Avant l'Annotation Processing, nos gestionnaires (TextInputHandler, SelectInputHandler, etc...