Si votre application se comporte de telle manière que MongoDB est facultatif, plusieurs options s'offrent à vous.
Si vous migrez une application existante, le plus simple dès le départ serait de exclure la configuration automatique
et créez vous-même l'infrastructure. Pas de la manière que vous avez indiquée en retournant null
depuis un @Bean
la méthode est assez désagréable. Au lieu de cela, vous pourriez avoir un service qui pourrait créer paresseusement le client et vous pourriez mettre à jour vos utilisations facultatives de MongoDB pour passer par ce service. Le service serait créé indépendamment mais ne créerait l'infrastructure sous-jacente que si nécessaire.
L'autre option consiste à utiliser un profil. Si le cas d'utilisation principal est que MongoDB est disponible, créez un application-nomongo.properties
(quelque chose comme ça) où vous excluriez la configuration automatique en utilisant le spring.autoconfigure.exclude
propriété. Lorsque l'application démarre sans mongo, vous pouvez activer le nomongo
profil et la configuration automatique s'arrêtera. Lorsqu'il n'est pas activé, le Mongo
bean sera créé par Spring Boot.