Автоконфигурация Spring Boot предоставляет MongoTemplate по умолчанию для облегчения создания репозиториев MongoDB.
Тем не менее, если вы хотите использовать несколько баз данных MongoDB, вам необходимо
- зарегистрировать MongoTemplates для каждой базы данных MongoDB
- назначить каждый из MongoTemplates для базовых пакетовMongoRepositories соответственно, так что Spring Data MongoDB проинформирован об использовании правильного шаблона при создании репозиториев.
Например, скажем, вы зарегистрировали 2 MongoTemplates, а именно templateAdmin и templateUser, явно настроенные для их MongoDB.Затем вы можете использовать подобный код, чтобы сообщить Spring Data MongoDB, какие репозитории используют какой шаблон:
@EnableMongoRepositories(
basePackages = "com.the.base.package.name.of.admin.repositories",
mongoTemplateRef = "adminTemplateBeanName")
@Configuration
public class AdminMongoConfig {
@Bean
public MongoTemplate adminTemplateBeanName() {
//...
}
}
Настройка нескольких репозиториев MongoDB с Spring Data Mongo В основном объяснил почти все пункты, что я сказал,Поэтому я предпочитаю предположить, что у вас может быть неправильное представление о том, что MongoTemplate не имеет отношения к MongoRepository, а это не так.