Als uw applicatie zich zo gedraagt dat MongoDB optioneel is, heeft u verschillende opties.
Als u een bestaande toepassing migreert, is het het gemakkelijkst om vanaf het begin automatische configuratie uitsluiten
en creëer zelf de infrastructuur. Niet op de manier die je hebt aangegeven als null
van een @Bean
methode is behoorlijk smerig. In plaats daarvan zou je een service kunnen hebben die lui de client zou kunnen maken en je zou je optionele gebruik van MongoDB kunnen bijwerken om door die service te gaan. De service zou hoe dan ook worden gecreëerd, maar zou alleen de onderliggende infrastructuur creëren als dat nodig is.
De andere optie is om een profiel te gebruiken. Als de belangrijkste use-case is dat MongoDB beschikbaar is, maak dan een application-nomongo.properties
(zoiets) waarbij je de automatische configuratie zou uitsluiten met behulp van de spring.autoconfigure.exclude
eigendom. Wanneer de applicatie start zonder mongo, kunt u de nomongo
. inschakelen profiel en de automatische configuratie wordt teruggedraaid. Als het niet is ingeschakeld, wordt de Mongo
bean wordt gemaakt door Spring Boot.