Статьи Утилиты Telegram YouTube RuTube Отзывы

Статьи с тэгом «Spring Boot»

Spring Data JPA, REST и Kotlin: поиск записей

15 марта 2023

Тэги: Spring Data, руководство, Kotlin, PostgreSQL, YouTube, Spring Boot, rest.

В предыдущей статье Spring Data JPA, REST и Kotlin: подключение к БД мы рассмотрели как можно подгружать из БД список всех стран, отсортированных по алфавиту и как реализовать постраничный вывод. А в данной статье узнаем, как искать страну по id и по части её названия.

Читать полностью...

Spring Data JPA, REST и Kotlin: подключение к БД

14 марта 2023

Тэги: Spring Boot, PostgreSQL, Spring Data, Hibernate, yaml, YouTube, SQL, Kotlin, gradle, rest, руководство.

В предыдущей статье Spring Data JPA, REST и Kotlin: заготовка проекта мы сделали заготовку проекта и научились отдавать статический список стран. А сейчас разберёмся с подключением к базе.

Интеграция с базой данных

Теперь пришла пора подключиться к базе данных и научиться считывать данные из неё. Сначала создадим таблицу country и наполним её данными:

Читать полностью...

Spring Data JPA, REST и Kotlin: заготовка проекта

13 марта 2023

Тэги: Spring Boot, Kotlin, gradle, YouTube, rest, руководство, PostgreSQL, Spring Data.

Это первая статья из цикла о создании restful-сервиса на Kotlin, который будет взаимодействовать с СУБД Postgres с помощью Spring Data JPA.

В качестве предметной области выберем города и страны. В одной стране может быть несколько городов. И эту взаимосвязь мы чуть позже отразим в самой базе данных.

Данный материал также доступен на Youtube. Пример проекта вы можете посмотреть на Github.

Читать полностью...

Как отправлять email в Spring Boot

25 февраля 2023

Тэги: Spring, Spring Boot, Kotlin, gradle, YouTube.

В этой статье вы узнаете, как отправлять email в Spring Boot. Также можно посмотреть исходники этого примера на github и видео на YouTube.

Для начала создадим новый gradle-проект. Проще всего это сделать с помощью Spring Initializr. Там выбираем параметры Java 17, язык – Kotlin, сборщик Gradle – Kotlin. В зависимости добавим Spring Web и Java Mail Sender. В итоге в проекте должно быть прописано:

implementation("org.springframework.boot:spring-boot-starter-web")
implementation("org.springframework.boot:spring-boot-starter-mail")

Стартер spring-boot-starter-mail добавляет саму функциональность работы с email.

Читать полностью...

Загрузка файлов в restful-сервисе на Spring Boot

30 ноября 2021

Тэги: json, yaml, файлы, Spring Boot, rest, Kotlin, YouTube.

Предположим, перед нами стоит задача сделать в restful-сервисе, написанном на Kotlin и Spring Boot, эндпоинт для загрузки файлов с фронтэнда. Для пользователя такая загрузка выглядит как кнопка выбора файла с надписью «Обзор». Далее выбранный файл отправляется на бэк как поток бинарных данных. Этот поток имеет тип данных multipart/form-data.

Данный материал также доступен в формате видео на YouTube.

Эндпоинт

Для реализации эндпоинта в минимальном варианте в нашем проекте должна быть всего одна зависимость spring-boot-starter-web. Заготовку проекта на Kotlin можно сгенерить с помощью Spring Initializr.

Сам контроллер будет выглядеть примерно так:

Читать полностью...

Пакетная вставка с помощью Spring JDBC API

24 ноября 2021

Тэги: SQL, Spring, Kotlin, PostgreSQL, Spring Boot, YouTube.

Давайте рассмотрим, как обеспечить пакетную вставку (batch insert) большого количества данных с помощью Spring JDBC API. Допустим, нам нужно вставить 100 000 строк в таблицу в postgres. В качестве драйвера для работы с БД используем стандартный org.postgresql:postgresql.

Мы рассмотрим несколько вариантов, начиная с самого простого и заканчивая самым быстрым, постепенно улучшая нашу реализацию. Если вам нужен финальный вариант, листайте сразу к последнему.

Данный материал доступен также в формате видео на YouTube.

Модель данных

Допустим у нас есть такая таблица для хранения истории каких-то заказов:

create table amount_history
(
    id       serial
        constraint amount_history_pk
            primary key,
    username varchar   not null,
    amount   numeric   not null,
    created  timestamp not null
);
Читать полностью...

Работа с Liquibase в Spring Boot

22 ноября 2021

Тэги: SQL, PostgreSQL, Spring Boot, gradle, Kotlin, yaml.

Liquibase позволяет автоматизировать внесение обновлений в структуру БД. Каждое изменение описывается в декларативном стиле и версионируется. Обновления накатываются в заранее определённом порядке на данную БД, если они ещё не накатывались. Автоматизация процесса наката изменений на базу данных особенно важна, если у вас несколько различных экземпляров приложений и для каждого из них требуется поддерживать свою БД.

Данный материал также доступен в формате видео на YouTube.

Подключаем liquibase к приложению

Рассмотрим работу с Liquibase на конкретном примере. С помощью Spring Initializr создадим заготовку нашего Spring Boot приложения (выбираем в качестве языка kotlin, а в качестве сборщика – gradle). В dependencies выберем компоненты Spring Web (функциональность rest-контроллеров), Spring Data JDBC (работа с БД), PostgreSQL Driver (драйвер нашей СУБД) и сам Liquibase Migration. В итоге файл build.gradle.kts в секции dependencies должен содержать следующие зависимости:

Читать полностью...

Работа с событиями в Spring

6 ноября 2021

Тэги: Spring Boot, rest, Kotlin, YouTube, Spring.

Spring «из коробки» предоставляет простой механизм работы с событиями, которые позволяют уменьшить связность компонентов системы. Событие, которое возникает в одной точке приложения, может быть перехвачено и обработано в любой другой части приложения благодаря таким сущностям как publisher и eventListener.

Для примера рассмотрим rest-приложение на Kotlin, в котором есть некий метод с бизнес-логикой. И мы хотим каждый вызов этого метода фиксировать. Чтобы не повышать связность кода и не делать явный вызов конкретного компонента, мы можем публиковать событие в нашей системе и любые компоненты, которые будут «прослушивать» тип такого события, смогут выполнить дополнительные действия.

Данный материал также доступен в формате видео на Youtube.

Читать полностью...

Запуск задач по расписанию в Spring Boot проекте на Kotlin (видео)

8 октября 2021

Тэги: Spring, Spring Boot, Kotlin, YouTube, новости, gradle.

На нашем youtube-канале вышло видео о том, как запускать задачи по расписанию в Spring Boot. В качестве примера рассмотрим gradle-проект на Kotlin.

Мы будем использовать аннотацию @Scheduled. Она имеет несколько параметров. Вначале рассмотрим, как запускать задачи с фиксированным интервалом с помощью fixedDelay в миллисекундах. Затем научимся выносить настройки запуска в конфиг с помощью fixedDelayString. Ну и наконец, если нам важно запускать задачи в конкретное время дня, то для этих целей будем использовать cron-выражение.

Читать полностью...

Restful-сервис на Spring JDBC и Kotlin (серия видео)

23 сентября 2021

Тэги: Spring Boot, YouTube, gradle, Kotlin, новости, Spring, PostgreSQL, rest.

На нашем youtube-канале опубликована целая серия видео о том, как шаг за шагом создать restful-сервис на основе Spring Boot.

В качестве примера рассматриваем проект на Kotlin. Для взаимодействия с БД используем Spring JDBC API. В качестве базы данных выбрали postgres. Исходники проекта доступны на github.

Читать полностью...

❮ Назад Далее ❯