Spring Boot: работа с NoSQL, MongoDB
MongoDB - это NoSQL база данных документов, с открытым исходным кодом, которая использует JSON-подобную схему вместо традиционных реляционных данных на основе таблиц. Spring Boot предлагает несколько удобств для работы с MongoDB, включая стартеры spring-boot-starter-data-mongodb и spring-boot-starter-data-mongodb-reactive.
Подключение к базе данных MongoDB
Чтобы получить доступ к базам данных Mongo, вы можете добавить автоматически настроенный org.springframework.data.mongodb.MongoDbFactory. По умолчанию экземпляр пытается подключиться к серверу MongoDB по адресу mongodb://localhost/test. В следующем примере показано, как подключиться к базе данных MongoDB:
import org.springframework.data.mongodb.MongoDbFactory;
import com.mongodb.DB;
@Component
public class MyBean {
private final MongoDbFactory mongo;
@Autowired
public MyBean(MongoDbFactory mongo) {
this.mongo = mongo;
}
// ...
public void example() {
DB db = mongo.getDb();
// ...
}
}
Вы можете установить свойство spring.data.mongodb.uri, чтобы изменить URL-адрес и настроить дополнительные параметры, такие как набор реплик, как показано в следующем примере:
spring.data.mongodb.uri=mongodb://user:secret@mongo1.example.com:12345,mongo2.example.com:23456/test
Кроме того, если вы используете Mongo 2.x, вы можете указать host/port. Например, вы можете объявить следующие параметры в вашем application.properties:
spring.data.mongodb.host=mongoserver
spring.data.mongodb.port=27017
Если вы определили свой собственный MongoClient, он будет использоваться для автоматической настройки подходящего MongoDbFactory. Поддерживаются как com.mongodb.MongoClient, так и com.mongodb.client.MongoClient.
Если вы используете Java-драйвер Mongo 3.0, spring.data.mongodb.host и spring.data.mongodb.port не поддерживаются. В таких случаях следует использовать spring.data.mongodb.uri для обеспечения всей конфигурации.
Если spring.data.mongodb.port не указан, используется значение по умолчанию 27017. Вы можете удалить эту строку из примера, показанного выше.
Если вы не используете Spring Data Mongo, вы можете внедрить bean-компоненты com.mongodb.MongoClient вместо использования MongoDbFactory. Если вы хотите получить полный контроль над установлением соединения MongoDB, вы также можете объявить свой собственный компонент MongoDbFactory или MongoClient.
Если вы используете реактивный драйвер, Netty требуется для SSL. Автоконфигурация автоматически настраивает эту фабрику, если Netty доступен, а фабрика для использования еще не настроена.
Читайте также:
- Spring Boot: работа с SQL базами данных
- Spring Boot: JPA и Spring Data JPA
- Spring Boot: работа с NoSQL технологиями, Redis
Комментарии
Отправить комментарий