Jeśli Twoja aplikacja zachowuje się w taki sposób, że MongoDB jest opcjonalna, masz kilka opcji.
Jeśli migrujesz istniejącą aplikację, najłatwiej od początku będzie wyklucz automatyczną konfigurację
i samodzielnie stwórz infrastrukturę. Nie w sposób, który wskazałeś jako zwracanie null z @Bean metoda jest dość paskudna. Zamiast tego możesz mieć jakąś usługę, która może leniwie tworzyć klienta i możesz zaktualizować opcjonalne użycie MongoDB, aby przejść przez tę usługę. Usługa zostanie utworzona niezależnie, ale tylko w razie potrzeby utworzy podstawową infrastrukturę.
Inną opcją jest użycie profilu. Jeśli głównym przypadkiem użycia jest dostępność MongoDB, utwórz application-nomongo.properties (coś w tym rodzaju), gdzie można wykluczyć automatyczną konfigurację za pomocą spring.autoconfigure.exclude własność. Gdy aplikacja uruchamia się bez mongo, możesz włączyć nomongo profil i autokonfiguracja się wyłączy. Gdy nie jest włączony, Mongo fasola zostanie utworzona przez Spring Boot.