Pokud se vaše aplikace chová tak, že MongoDB je volitelný, máte několik možností.
Pokud migrujete existující aplikaci, nejjednodušší by od začátku bylo vyloučit automatickou konfiguraci
a vytvořte infrastrukturu sami. Ne způsobem, který jste uvedli jako návrat null
z @Bean
metoda je dost trapná. Spíše byste mohli mít nějakou službu, která by mohla líně vytvořit klienta, a mohli byste aktualizovat svá volitelná použití MongoDB, abyste tuto službu prošli. Služba by byla vytvořena bez ohledu na to, ale pouze v případě potřeby by vytvořila základní infrastrukturu.
Další možností je použití profilu. Pokud je hlavním případem použití, že je k dispozici MongoDB, vytvořte application-nomongo.properties
(něco takového), kde byste vyloučili automatickou konfiguraci pomocí spring.autoconfigure.exclude
vlastnictví. Když se aplikace spustí bez mongo, můžete povolit nomongo
profil a automatická konfigurace se stáhne. Pokud není povoleno, Mongo
bean vytvoří Spring Boot.