Реактивное веб-приложение с Kotlin и Spring

В этой статье я рассмотрю пример использования Kotlin, Spring и MongoDB при разработке полностью реактивного веб-приложения.

Reactive Web with Kotlin and Spring

Читать далее Реактивное веб-приложение с Kotlin и Spring

Java и MongoDB: работа с кодеками

В предыдущей публикации я описал базовые операции при работе с MongoDB в Java.
Использовать org.bson.Document для работы с данными, хранящимися в коллекциях далеко не всегда удобно. Как правило, в коллекциях хранятся данные имеющие какую-то определённую структуру, соответствующую, например, POJO-классам вашего проекта.

Для реализации преобразования BSON в объекты соответствующих классов и обратно в драйвере MongoDB предусмотрены кодеки, реализующие интерфейс org.bson.codecs.Codec. В этой публикации я рассмотрю варианты разработки собственного кодека и использования готовых.

Читать далее Java и MongoDB: работа с кодеками

Java и MongoDB: базовые операции

MongoDB — одна из наиболее популярных документноориентированных систем управления баз данных с открытым исходным кодом.

Для использования MongoDB в Java-проектах потребуется синхронный или асинхронный драйвер. В этой статье я опишу работу с синхронным драйвером.

Читать далее Java и MongoDB: базовые операции

Ускоряем Spring Boot: Автоконфигурации

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

Читать далее Ускоряем Spring Boot: Автоконфигурации

Развитие блога

Друзья!

На праздниках решил, что надо бы оживить свой блог. Последние два года я им почти не занимался, но у меня накопился достаточно большой объём ценного материала, который я готов публиковать как в виде текста, так и в виде видеороликов.
Мне хочется знать, какой материал будет больше востребован и интересен вам.

Список тем:

  • Java
  • Kotlin
  • Spring (практически вся экосистема, включая Cloud)
  • Project Reactor
  • Java EE и Jakarta EE
  • Vaadin
  • Hibernate
  • Netty
  • VueJS и Vuetify
  • AngularJS и Angular
  • Apache Camel, Apache CXF, Apache ActiveMQ и Artemis
  • Thymeleaf

Ваши мысли вы можете оставлять в комментариях и в социальных сетях.

Spring Framework: Functional Bean Registration

Functional bean registration is a feature that was added to Spring Framework 5. This feature allows to create and register beans in the application context without use of reflection API and also can boost up application startup time.

Читать далее Spring Framework: Functional Bean Registration

Spring Framework: Функциональная регистрация компонентов

В Spring Framework 5 была добавлена возможность функциональной регистрации компонентов (бинов) в контексте приложения.

Читать далее Spring Framework: Функциональная регистрация компонентов

XML-конфигурация Bean Validation

Компоненты Bean Validation могут быть сконфигурированы при помощи XML-файлов. Такой подход может быть удобен, когда требуется добавить валидацию классов, недоступных для изменения, либо в тех случаях, когда хочется избежать появления сторонних зависимостей в коде. Основной XML-файл конфигурации — META-INF/validation.xml, в нём находятся основные настройки Bean Validation.

Читать далее XML-конфигурация Bean Validation

Валидация данных при помощи Bean Validation API

Для валидации данных в Java EE существует Bean Validation. Первая версия данного набора API была специфицирована в JSR-303 и опубликована как часть Java EE 6. Текущая версия — 2.0, является частью Java EE 8 и описана в JSR-380. Эталонной реализацией Bean Validation является Hibernate Validator. Bean Validation может использоваться не только в классических приложениях на основе Java EE, но и в приложениях на основе Spring, и даже в приложениях, не имеющих отношения к Java EE.

Читать далее Валидация данных при помощи Bean Validation API

Многоуровневая архитектура в проекте на Java (Часть 2)

Сервис, реализующий бизнес-логику работы с заметками, который я описал в своей предыдущей статье, достаточно простой. В реальной жизни требуются различные проверки при выполнении CRUD-операций: проверка прав доступа, валидация полученных данных и т.д.

Очевидно, что в нашем сервисе нужна валидация получаемых данных при создании и редактировании заметок, а также проверка прав доступа к заметкам. Выделение валидации и проверки прав доступа в отдельные компоненты фактически является разделением слоя бизнес-логики на дополнительные подслои.

Читать далее Многоуровневая архитектура в проекте на Java (Часть 2)