Jika aplikasi Anda berperilaku sedemikian rupa sehingga MongoDB bersifat opsional, Anda memiliki beberapa opsi.
Jika Anda memigrasikan aplikasi yang ada, yang paling mudah dari awal adalah ke kecualikan konfigurasi otomatis
dan membuat infrastruktur sendiri. Tidak seperti yang Anda tunjukkan sebagai mengembalikan null
dari @Bean
metode ini cukup jahat. Alih-alih, Anda dapat memiliki beberapa layanan yang dapat dengan malas membuat klien dan Anda dapat memperbarui penggunaan opsional MongoDB Anda untuk melalui layanan itu. Layanan akan dibuat terlepas dari apa pun, tetapi hanya akan membuat infrastruktur yang mendasarinya jika perlu.
Pilihan lainnya adalah menggunakan profil. Jika kasus penggunaan utama adalah MongoDB tersedia, buat application-nomongo.properties
(sesuatu seperti itu) di mana Anda akan mengecualikan konfigurasi otomatis menggunakan spring.autoconfigure.exclude
Properti. Saat aplikasi dimulai tanpa mongo, Anda dapat mengaktifkan nomongo
profile dan konfigurasi otomatis akan mundur. Saat tidak diaktifkan, Mongo
bean akan dibuat oleh Spring Boot.