Сообщения

Показаны сообщения с ярлыком "Spring Boot и базы данных"

Spring Boot: Embedded Mongo

Изображение
Spring Boot предлагает автоматическую настройку для Embedded Mongo (встроенная Mongo). Чтобы использовать ее в приложении Spring Boot, добавьте зависимость от de.flapdoodle.embed:de.flapdoodle.embed.mongo. Порт, который прослушивает Mongo, можно настроить, установив свойство spring.data.mongodb.port. Чтобы использовать произвольно выделенный свободный порт, используйте значение 0. MongoClient, созданный MongoAutoConfiguration, автоматически настраивается на использование случайно выделенного порта. Если пользовательский порт не настроен, встроенная поддержка по умолчанию использует случайный порт (а не 27017). Если у вас есть SLF4J на пути к классам, выходные данные, созданные Mongo, автоматически направляются в логгер с именем org.springframework.boot.autoconfigure.mongo.embedded.EmbeddedMongo. Вы можете объявить свои собственные bean-объекты IMongodConfig и IRuntimeConfig для управления конфигурацией экземпляра Mongo и маршрутизацией журналирования. Конфигурацию загрузки можно на...

Spring Boot: репозитории Spring Data MongoDB

Изображение
Spring Data включает поддержку репозитория для MongoDB. Как и в случае с репозиториями JPA, рассмотренными ранее, основной принцип заключается в том, что запросы создаются автоматически на основе имен методов. Фактически и Spring Data JPA, и Spring Data MongoDB используют одну и ту же общую инфраструктуру. Вы можете взять пример JPA , предполагая, что City теперь является классом данных Mongo, а не JPA @Entity, он работает таким же образом, как показано в следующем примере: package com.example.myapp.domain; import org.springframework.data.domain.*; import org.springframework.data.repository.*; public interface CityRepository extends Repository<City, Long> { Page<City> findAll(Pageable pageable); City findByNameAndStateAllIgnoringCase(String name, String state); } Вы можете настроить места сканирования документов с помощью аннотации @EntityScan. Читайте также: Spring Boot: работа с NoSQL технологиями, Redis Spring Boot: работа с NoSQL, MongoDB Spri...

Spring Boot: работа с NoSQL, MongoDB, MongoTemplate

Изображение
Spring Data MongoDB предоставляет класс MongoTemplate, который по своему дизайну очень похож на Spring JdbcTemplate . Как и в случае с JdbcTemplate, Spring Boot автоматически настраивает bean-компонент для внедрения шаблона следующим образом: import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.stereotype.Component; @Component public class MyBean { private final MongoTemplate mongoTemplate; @Autowired public MyBean(MongoTemplate mongoTemplate) { this.mongoTemplate = mongoTemplate; } // ... } Читайте также: Spring Boot: работа с NoSQL технологиями, Redis Spring Boot: работа с NoSQL, MongoDB Spring Boot и базы данных: использование JdbcTemplate

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 Boot: использование веб-консоли H2

Изображение
База данных H2 предоставляет браузерную консоль, которую Spring Boot может автоматически настроить для вас. Консоль автоматически настраивается при соблюдении следующих условий: Вы разрабатываете веб-приложение на основе сервлетов. com.h2database:h2 находится на пути к классам. Вы используете инструменты разработчика Spring Boot. Если вы не используете инструменты разработчика Spring Boot, но все же хотели бы использовать консоль H2, вы можете настроить свойство spring.h2.console.enabled со значением true. Консоль H2 предназначена только для использования во время разработки, поэтому вам следует убедиться, что для spring.h2.console.enabled не задано значение true в рабочей среде. Изменение пути консоли H2 По умолчанию консоль доступна в /h2-console. Вы можете настроить путь консоли, используя свойство spring.h2.console.path. Читайте также: Spring Boot: работа с SQL базами данных Spring Boot и базы данных: использование JdbcTemplate Spring Boot: JPA и Spring Data JPA

Spring Boot: создание и удаление JPA баз данных

Изображение
По умолчанию базы данных JPA создаются автоматически, только если вы используете встроенную базу данных (H2, HSQL или Derby). Вы можете явно настроить параметры JPA, используя свойства spring.jpa.*. Например, для создания и удаления таблиц вы можете добавить следующую строку в ваш application.properties: spring.jpa.hibernate.ddl-auto=create-drop Собственное внутреннее имя свойства Hibernate для этого - hibernate.hbm2ddl.auto. Вы можете установить его вместе с другими собственными свойствами Hibernate, используя spring.jpa.properties.* (Префикс удаляется перед добавлением их в менеджер сущностей). Следующая строка показывает пример настройки свойств JPA для Hibernate: spring.jpa.properties.hibernate.globally_quoted_identifiers=true Строка в предыдущем примере передает значение true для свойства hibernate.globally_quoted_identifiers диспетчеру сущности Hibernate. По умолчанию выполнение (или проверка) DDL откладывается до запуска ApplicationContext. Существует также флаг s...

Spring Boot и базы данных: использование JdbcTemplate

Изображение
Классы Spring JdbcTemplate и NamedParameterJdbcTemplate настраиваются автоматически, и вы можете выполнить @Autowire их непосредственно в ваши bean-компоненты, как показано в следующем примере: import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.stereotype.Component; @Component public class MyBean { private final JdbcTemplate jdbcTemplate; @Autowired public MyBean(JdbcTemplate jdbcTemplate) { this.jdbcTemplate = jdbcTemplate; } // ... } Вы можете настроить некоторые свойства шаблона, используя свойства spring.jdbc.template.*, Как показано в следующем примере: spring.jdbc.template.max-rows=500 NamedParameterJdbcTemplate повторно использует тот же экземпляр JdbcTemplate за кулисами. Если определено более одного JdbcTemplate и первичного кандидата не существует, NamedParameterJdbcTemplate не настраивается автоматически. Читайте также: Spring Boot: раз...

Spring Boot: подключение к производственной базе данных

Изображение
Соединения с производственной базой данных можно автоматически настроить с помощью пула DataSource. Spring Boot использует следующий алгоритм для выбора конкретной реализации: Предпочитается HikariCP за его производительность и конкурентность. Если HikariCP доступен, всегда выбирается он. В противном случае, если доступен DataSource Tomcat для пула, используется он. Если нет ни HikariCP, ни DataSource пула Tomcat, и если доступен Commons DBCP2, используется он. Если вы используете «стартеры» spring-boot-starter-jdbc или spring-boot-starter-data-jpa, вы автоматически получаете зависимость от HikariCP. Вы можете полностью обойти этот алгоритм и указать используемый пул соединений, установив свойство spring.datasource.type. Это особенно важно, если вы запускаете свое приложение в контейнере Tomcat, так как tomcat-jdbc предоставляется по умолчанию. Дополнительные пулы соединений всегда можно настроить вручную. Если вы определяете свой собственный компонент DataSource, автоконфигура...

Spring Boot: работа с SQL базами данных

Изображение
Spring Framework предоставляет обширную поддержку для работы с SQL базами данных, от прямого доступа JDBC с использованием JdbcTemplate до полных технологий "объектно-реляционного сопоставления" (ORM, “object relational mapping”), таких как Hibernate. Spring Data обеспечивает дополнительный уровень функциональности: создание реализаций репозитория непосредственно из интерфейсов и использование соглашений для генерации запросов из имен ваших методов. Настройка DataSource (источника данных) Java-интерфейс javax.sql.DataSource предоставляет стандартный метод работы с соединениями с базой данных. Традиционно DataSource использует URL-адрес вместе с некоторыми учетными данными для установления соединения с базой данных. Поддержка встроенных баз данных Часто удобно разрабатывать приложения, используя встроенную базу данных в памяти. Очевидно, что базы данных в памяти не обеспечивают постоянного хранения. Вам нужно заполнить базу данных, когда ваше приложение запускается, и быть...