В нашей повседневной работе мы работаем с базой данных Mongodb через Spring Data Mongodb, В Spring Boot нам нужно только ввести spring-boot-starter-data-mongodb.
Затем настройте информацию о подключении следующим образом:
spring.data.mongodb.uri=mongodb://localhost:27017/test
или
pring.data.mongodb.authentication-database= # Authentication database name.
spring.data.mongodb.database=test # Database name.
spring.data.mongodb.host=localhost # Mongo server host.
spring.data.mongodb.password= # Login password of the mongo server.
spring.data.mongodb.port=27017 # Mongo server port.
spring.data.mongodb.username= # Login user of the mongo server.
spring-boot-starter-data-mongodb предоставляет два метода настройки: uri и host. uri может быть настроен с несколькими адресами, как настроен кластер. Хост может подключаться только к одному узлу.
Когда в проекте необходимо подключить несколько баз данных, автоматическая конфигурация spring-boot-starter-data-mongodb не может соответствовать требованиям, поэтому здесь я инкапсулировал Spring-boot-starter Mongodb с несколькими источниками данных.
Я уже писал статью об использовании нескольких источников данных:spring-boot-starter-mongodb-pool
Так как это первая версия, некоторые вещи не были учтены.Недавно она была обновлена, добавлен некоторый контент, и она была обновлена до Spring Boot версии 2.0.
Github:GitHub.com/Йинджи Хуан/Да…
Во-первых, давайте кратко представим, как его использовать:
Настройте адрес склада:
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://www.jitpack.io</url>
</repository>
</repositories>
Настройте последнюю версию, поддерживает только Spring Boot 2.0
<dependency>
<groupId>com.github.yinjihuan</groupId>
<artifactId>spring-boot-starter-mongodb-pool</artifactId>
<version>2.0.2</version>
</dependency>
Моя конфигурация здесь также uri и хост.Для uri настраивается только информация об узле mongo, которая отличается от формата uri по умолчанию и не содержит информации о пользователе и параметрах подключения.
Кластер конфигурации URI
spring.data.mongodb.testMongoTemplate.uri=localhost:27017,localhost:27018
spring.data.mongodb.testMongoTemplate.username=yinjihuan
spring.data.mongodb.testMongoTemplate.password=123456
spring.data.mongodb.testMongoTemplate.database=test
spring.data.mongodb.testMongoTemplate.authenticationDatabase=admin
Конфигурация режима HOST
spring.data.mongodb.testMongoTemplate.host=localhost
spring.data.mongodb.testMongoTemplate.port=27017
spring.data.mongodb.testMongoTemplate.database=test
spring.data.mongodb.testMongoTemplate.username=yinjihuan
spring.data.mongodb.testMongoTemplate.password=123456
testMongoTemplate — это объект MongoTemplate, который мы используем для работы с тестовой базой данных. Фреймворк автоматически создаст его для вас, просто внедрите его и используйте.
@Autowired
@Qualifier("testMongoTemplate")
private MongoTemplate testMongoTemplate;
Для нескольких источников данных просто настройте несколько MongoTemplates, например:
spring.data.mongodb.testMongoTemplate.host=localhost
spring.data.mongodb.testMongoTemplate.port=27017
spring.data.mongodb.testMongoTemplate.database=test
spring.data.mongodb.testMongoTemplate.username=yinjihuan
spring.data.mongodb.testMongoTemplate.password=123456
spring.data.mongodb.test2MongoTemplate.host=localhost
spring.data.mongodb.test2MongoTemplate.port=27017
spring.data.mongodb.test2MongoTemplate.database=test2
spring.data.mongodb.test2MongoTemplate.username=yinjihuan
spring.data.mongodb.test2MongoTemplate.password=123456
Какой объект внедряется в какую базу данных работает:
@Autowired
@Qualifier("testMongoTemplate")
private MongoTemplate testMongoTemplate;
@Autowired
@Qualifier("test2MongoTemplate")
private MongoTemplate test2MongoTemplate;
Примечания к выпуску
- Поддержка версии Spring Boot 2.x Первая версия 1.0.0 поддерживает только версию Spring Boot 1.x.
- Плюс конфигурация аутентификации пользователя Первая версия 1.0.0 не добавляла логику аутентификации по паролю учетной записи.
- Поддержка конфигурации адреса кластера Настройте информацию о кластере через uri
Если вы хотите узнать подробности реализации фреймворка, перейдите по ссылке:cxytiandi.com/course