Profile picture of Philémon GLOBLÉHI
Philémon GLOBLÉHI
Développeur Java
Follow me
Generated by linktime
August 2, 2025
Activer ou désactiver une fonctionnalité d’un simple paramètre ? C’est possible, et ça change la donne. Quand on développe une application Spring Boot, on a parfois besoin de conditionner l’activation de certaines fonctionnalités sans pour autant tout redéployer à chaque changement. Que ce soit pour activer un service de notifications, désactiver temporairement un traitement lourd ou tester un comportement en production, il existe une approche élégante : @ConditionalOnProperty. En clair, cette annotation permet de ne créer un bean que si une propriété est définie (ou vaut true, par exemple) dans le fichier de configuration. Quelques usages concrets : ✅ Activer un module de paiement spécifique selon l’environnement ou le pays de l’utilisateur ✅ Mettre en veille une tâche planifiée pendant les opérations de maintenance, sans modifier le code ✅ Déployer une nouvelle API uniquement pour un sous-ensemble d’utilisateurs dans une stratégie de “canary release” ✅ Créer un service de logs avancés qui ne s’active qu’en cas de besoin de debug poussé Résultat : un code plus propre, plus souple, et une mise en production plus sereine. C’est aussi un excellent levier pour intégrer des flags de fonctionnalités dans une pipeline CI/CD, ou préparer une montée en charge progressive.
Stay updated
Subscribe to receive my future LinkedIn posts in your mailbox.

By clicking "Subscribe", you agree to receive emails from linktime.co.
You can unsubscribe at any time.

41 Likes
August 2, 2025
Discussion about this post
Profile picture of Fabien Recco
Fabien Recco
Tech Lead / Software Architect / Staff Engineer | Java & Kotlin
1 month ago
C'est très utile, mais attention ça ne fonctionne pas avec Spring AOT (ou plutôt il faudra faire plusieurs build en passant la valeur souhaitée lors du build)
Profile picture of Kevin NZUGUEM
Kevin NZUGUEM
Cloud Software Engineer | {3xAWS , 1xAZURE, 1xK8S, 1xHashiCorp} Certified | {Quarkus, LLM} Lover
1 month ago
TL;DR : c'est du Feature Flag Ce que je décrie avec cette approche du Feature Flag, c'est que tu es obligé à minima de redemarrer ton application si tu dois activer/désactiver une feature, à moins d'avoir mis en place des mécanisme de refresh de contexte Spring. A mon avis, les Conditional Beans marchent très bien quand le besoin c'est d'activer ou pas l'intégration avec des composants externes (a.k.a l'inclure ou pas dans le contexte Spring). Par exemple, sur un environnement de tests système, je veux désactiver l'intégration avec la brique de notifications. Il est plus intéressant d'avoir une feature déployée (les beans présents dans le contexte Spring) et avoir la marge de manoeuvre pour l'activer / désactiver à la volée. Pour faire du vrai Feature Flag, il y a une spec. CNCF prévue, et plusieurs implémentations : https://openfeature.dev/