Se la tua applicazione si comporta in modo tale che MongoDB sia opzionale, hai diverse opzioni.
Se stai migrando un'applicazione esistente, il modo più semplice dall'inizio sarebbe escludi la configurazione automatica
e crea tu stesso l'infrastruttura. Non nel modo che hai indicato restituendo null
da un @Bean
il metodo è piuttosto brutto. Piuttosto potresti avere qualche servizio che potrebbe creare pigramente il client e potresti aggiornare i tuoi usi opzionali di MongoDB per passare attraverso quel servizio. Il servizio verrebbe creato a prescindere, ma creerebbe l'infrastruttura sottostante solo se necessario.
L'altra opzione è usare un profilo. Se il caso d'uso principale è che MongoDB è disponibile, crea un application-nomongo.properties
(qualcosa del genere) in cui escluderesti la configurazione automatica utilizzando spring.autoconfigure.exclude
proprietà. Quando l'applicazione si avvia senza mongo, puoi abilitare il nomongo
profilo e la configurazione automatica verrà annullata. Quando non è abilitato, il Mongo
il bean verrà creato da Spring Boot.