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.