Se o seu aplicativo se comportar de forma que o MongoDB seja opcional, você tem várias opções.
Se você estiver migrando um aplicativo existente, o mais fácil desde o início seria excluir a configuração automática e crie você mesmo a infraestrutura. Não da maneira que você indicou como retornando
null
de um @Bean
método é bastante desagradável. Em vez disso, você poderia ter algum serviço que pudesse criar o cliente preguiçosamente e atualizar seus usos opcionais do MongoDB para passar por esse serviço. O serviço seria criado independentemente, mas só criaria a infraestrutura subjacente se necessário. A outra opção é usar um perfil. Se o caso de uso principal for que o MongoDB esteja disponível, crie um
application-nomongo.properties
(algo assim) onde você excluiria a configuração automática usando o spring.autoconfigure.exclude
propriedade. Quando o aplicativo iniciar sem mongo, você pode habilitar o nomongo
profile e a configuração automática irá recuar. Quando não está habilitado, o Mongo
bean será criado pelo Spring Boot.