Pull to refresh

Вышел Hibernate 7.0.0.Beta1

Reading time1 min
Views2.1K

С началом осени стартует пора обновлений. Команда Spring АйО с нетерпением ожидает релизы Spring Boot 3.4 и Java 23. В этом плане не отстаёт и Hibernate! Его новая версия уже достигла стадии Beta1 и получила гордое название Hibernate 7.0.0.Beta1. Сегодня расскажем, какие изменения вошли в состав этой версии.

Читать далее
Total votes 13: ↑12 and ↓1+13
Comments1

Amplicode – конвейер для Spring-приложений прямо в IntelliJ IDEA

Reading time1 min
Views1.9K

Приглашаем всех разработчиков на презентацию нового инструмента от Haulmont — компании, подарившей миру JPA Buddy и другие инструменты разработки, разрабатывающей корпоративное ПО и отказоустойчивые решения.

На митапе мы представим Amplicode — инструмент, который учит IDE работать в терминах фреймворка!

Читать далее
Total votes 12: ↑11 and ↓1+12
Comments0

Серия вебинаров по серверной разработке на Kotlin. Продолжение

Reading time3 min
Views3.6K

Мы продолжаем серию вебинаров о разработке серверных приложений на Kotlin (на английском языке). С 18 февраля по 18 марта пройдут четыре вебинара, на которых мы вместе с вами рассмотрим прикладную бэкенд-разработку на Kotlin в формате живых кодинг-сессий. Вебинары подойдут для Kotlin- и Java-разработчиков любого уровня подготовленности, в том числе для разработчиков мобильных приложений без опыта серверной разработки.

Спикеры из JetBrains, VMware, Confluent и Oracle расскажут о реактивном программировании, асинхронных приложениях на базе фреймворка Ktor, создании микросервисов с помощью Helidon и других аспектах применения Kotlin в серверной разработке:

Going Reactive With Spring WebFlux, Kotlin Coroutines, and RSocket, 18 февраля, 19:00 – 20:00 МСК

Building Microservices With Helidon and Kotlin, 10 марта, 19:00 – 20:00 МСК 

— Ktor From the Ground Up, 17 марта, 20:30 – 21:30 МСК 

Applied Event Streaming With Apache Kafka, Kotlin, and Ktor, 18 марта, 19:00 – 20:00 МСК 

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

Читать далее
Total votes 4: ↑4 and ↓0+4
Comments0

Генерация HTTP клиентов для Spring Boot приложения по OpenAPI спецификации

Level of difficultyEasy
Reading time9 min
Views4.4K

В новом переводе от команды Spring АйО вы узнаете, как можно сгенерировать код HTTP клиентов для Spring Boot приложения по OpenAPI спецификации, используя плагин openapi-generator для Gradle.

В статье вы найдете:

1. Пошаговую инструкцию по использованию openapi-generator для Gradle

2. Настройки для генератора, которые помогут оставить только нужный код

3. Пример конфигурации сгенерированных Spring-бинов

Читать далее
Total votes 13: ↑13 and ↓0+15
Comments0

JPA Entity. Загрузи меня не полностью

Level of difficultyEasy
Reading time16 min
Views6.5K

JPA часто подвергается критике за невозможность загружать сущности частично, что на самом деле является большим заблуждением. Spring Data JPA и Hibernate включают в себя множество инструментов по частичной загрузке сущностей. 

Команда Spring АйО подготовила статью, в которой рассмотрела имеющиеся в Spring Data JPA инструменты для частичной загрузки сущностей, а также разобрала их особенности и corner-кейсы.

Читать далее
Total votes 20: ↑19 and ↓1+18
Comments14

Катастрофа с Hibernate 6.5 при обновлении на Spring Boot 3.3.0

Level of difficultyEasy
Reading time2 min
Views8.8K

Обновившись до Spring Boot 3.3.0 (конкретно до Hibernate 6.5), мы столкнулись со 100% загрузкой процессора на БД из-за небольшого изменения в SQL коде, сгенерированного Hibernate после преобразования JPQL в SQL.

Читать далее
Total votes 11: ↑10 and ↓1+12
Comments12

Hibernate и спецификация JPA: приключение на 20 минут

Reading time3 min
Views5.4K

На прошлой неделе в блоге сообщества Spring АйО вышла статья-перевод про интересный кейс падения производительности при переходе на Hibernate 6.5. Оказалось, что выражения вида publisherId in :ids при пустом ids приводит к серьезной деградации производительности. Баг вскоре был пофикшен, однако, не дает покоя вопрос, почему так произошло?
Ниже приводим историю появления и незамедлительного решения этой проблемы, от лица Гэвина Кинга, создателя Hibernate.

Читать далее
Total votes 17: ↑17 and ↓0+18
Comments0

Spring Boot 3.2: замените свой RestTemplate на RestClient

Level of difficultyEasy
Reading time4 min
Views9.5K

Эта статья по Spring Boot 3.2 посвящена надстройке над  WebClient, которая называется RestClient и представляет собой более интуитивный и современный подход взаимодействия с RESTful сервисами.

В мире Spring Boot отправка HTTP запросов к внешним сервисам является весьма распространенной задачей. Традиционно при достижении этой цели разработчики полагались на  RestTemplate. Однако, по мере развития Spring Framework, на свет появился новый и более мощный способ обработки HTTP запросов: так называемый  WebClient. Spring Boot 3.2 представил нам надстройку над  WebClient, которая получила название RestClient. 

RestClient предлагает нам более современные и интуитивно понятные способы взаимодействия с RESTful сервисами. 

Читать далее
Total votes 19: ↑19 and ↓0+20
Comments7

Разработка ПО действительно так сложна? Или это мы делаем ее такой?

Level of difficultyEasy
Reading time9 min
Views12K

В новом переводе от команды Spring АйО, Siva Katamreddy, девелопер адвокат в AtomicJar (Testcontainers), поделился своими мыслями о популярных в наши дни TDD, Clean, Hexagonal, Onion и Ports & Adapters. Он также постарался ответить на вопрос, который, возможно, волнует не только его: "Действительно ли мы, разработчики, так любим всё усложнять?".

Читать далее
Total votes 32: ↑29 and ↓3+30
Comments72

Эффективность Spring-приложений в рантайме. Текущее состояние дел и планы на будущее

Level of difficultyMedium
Reading time12 min
Views8.1K

Несмотря на то, что данная статья была опубликована более полугода назад, команда Spring АйО по-прежнему считает ее актуальной, важной и интересной.

Себастьян Делойзе, контрибьютор Spring Framework, делится обзором усилий команды Spring по оптимизации эффективности приложений во время выполнения. Он рассматривает Virtual Threads, GraalVM Native Image, Project CRaC, Project Leyden и всё это в контексте Spring!

Читать далее
Total votes 19: ↑18 and ↓1+18
Comments0

Как Spring Data Jdbc определяет, что объект новый

Reading time4 min
Views12K
image

В этом посте мы рассмотрим, как Spring Data Jdbc при сохранении объекта понимает: новая сущность и надо выполнить insert или такая сущность в базе данных уже есть и надо выполнить update.

Пост рассчитан на начинающих программистов и не содержит каких-то супер хитрых вещей.

Уже 13 ноября в OTUS пройдет demo-урок курса «Разработчик на Spring Framework» по теме: «Метрики и актуатор». По ссылке вы сможете бесплатно зарегистрироваться на урок. А прямо сейчас хочу поделиться с вами своей авторской статьей.


Читать дальше →
Total votes 9: ↑8 and ↓1+11
Comments45

Пример развертывания Spring Boot-приложения в Kubernetes

Reading time3 min
Views12K

Перевод статьи подготовлен специально для студентов курса «Разработчик на Spring Framework».


Давайте создадим простейшее Spring Boot-приложение, которое будет запускаться в кластере Kubernetes.



Читать дальше →
Total votes 10: ↑5 and ↓5+3
Comments2

Eclair — Java Spring библиотека декларативного логирования

Reading time10 min
Views12K


Вопросов о работе сервисов на этапах разработки, тестирования и поддержки очень много и все они на первый взгляд непохожи: «Что произошло?», «Был ли запрос?», «Какой формат даты?», «Почему сервис не отвечает?» и т.д.

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

Об одеяле и особенностях решения — далее.
Читать дальше →
Total votes 37: ↑34 and ↓3+31
Comments18

Удобное логирование в SpringBoot + Log4j2 + Maven

Reading time4 min
Views39K

Здравствуйте, уважаемые Хабровчане.


Изложенный в статье материал предназначен для новичков и, возможно, как и мне сэкономит несколько часов поисков на StackOverFlow и других сайтах с целью получить удобную систему логирования, которая сама поймет куда логировать — в консоль, файл или logstash.

Читать дальше →
Total votes 20: ↑17 and ↓3+14
Comments9

Серия вебинаров по серверной разработке на Kotlin

Reading time2 min
Views1.7K
Все больше инженеров выбирают Kotlin для разработки серверных приложений. Полная совместимость с Java, корутины и высокая безопасность делают Kotlin отличным инструментом для подобных задач.

Мы организуем серию вебинаров (на английском языке), где расскажем о разработке бэкенда на Kotlin в сочетании с технологиями Apache Kafka, Spring Boot и Google Cloud Platform. Вебинары подойдут для Kotlin- и Java-разработчиков любого уровня подготовленности, в том числе для разработчиков мобильных приложений без опыта серверной разработки.

Kotlin и Apache Kafka, 10 декабря 2020, 19:30 – 20:30 МСК
Kotlin и Google Cloud Platform, 17 декабря 2020, 19:30 – 20:30 МСК
Kotlin и Spring Boot, 14 января 2021, 19:30 – 20:30 МСК

Подробнее о каждом из вебинаров читайте ниже.
Читать дальше →
Total votes 7: ↑6 and ↓1+8
Comments2

Начало работы с микросервисами в Spring Boot

Reading time13 min
Views26K
Всем привет!

В этой статье мы продемонстрируем основные компоненты для создания RESTful микросервисов, используя реестр служб Consul, Spring Boot для всего скаффолдинга, инжекции зависимостей, Maven для сборки, а также Spring REST и Jersey/JaxRS API Java RESTful.

Основные преимущества микросервисов:

  • Микросервисы позволяют ослабить зацепленность вашего кода

  • Микросервисы позволяют различным командам работать над небольшими составляющими, используя независимые технологии, обеспечивая более безопасное и частое развертывание Spring Boot поддерживает различные реализации для создания REST API

  • Обнаружение и вызов сервисов не зависят от сервисной платформы

  • Swagger создает надежную документацию API и интерфейс вызова

Если вы еще не используете микросервисы, вы благополучно не успели в фазу ранних последователей на кривой восприятия технологии, и, вероятно, как раз самое время начинать.

Total votes 10: ↑7 and ↓3+4
Comments6

Пишем чат с использованием Spring Boot и WebSockets

Reading time6 min
Views86K


Всем привет. В преддверии старта курса «Разработчик на Spring Framework» мы подготовили для вас еще один полезный перевод. Но, прежде чем перейти к статье, хотим поделиться с вами бесплатной записью урока от наших преподавателей по теме: «Рефакторинг кода приложений на Spring», а также предлагаем посмотреть запись вебинара из которого вы сможете подробно узнать о программе курса и формате обучения.

А теперь перейдем к статье



В статье Building Scalable Facebook-like Notification using Server-Sent Event and Redis для отправки сообщений от сервера клиенту мы использовали Server-sent Events. Также там было упомянуто о WebSocket — технологии двунаправленной связи между сервером и клиентом.

В этой статье мы посмотрим на один из распространенных примеров использования WebSocket. Мы напишем приложение для обмена приватными сообщениями.

Ниже на видео продемонстрировано то, что мы собираемся сделать.

Total votes 8: ↑5 and ↓3+2
Comments2

Открытый урок «Веб-приложения и микросервисы на Spring Boot 2.0»

Reading time1 min
Views6.7K
Всем привет!

На прошлой неделе провели открытый урок по курсу «Разработчик на Spring Framework», где преподаватель Юрий Дворжецкий знакомил с возможностями Spring Boot 2.0, рассказывал и показывал разработку веб-приложений с его помощью и разобрал работу Spring Boot Actuator.


Как всегда ждём вопросы, предложения и прочие тапки :)
Total votes 13: ↑10 and ↓3+7
Comments1

Как начать писать микросервис на Spring Boot, чтобы потом не болела голова

Reading time5 min
Views11K

Привет! Меня зовут Женя, я Java-разработчик в Usetech, в последнее время много работаю с микросервисной архитектурой, и в этой статье хотела бы поделиться некоторыми моментами, на которые может быть полезно обратить внимание, когда вы пишете новый микросервис на Spring Boot.


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

Читать дальше →
Total votes 16: ↑11 and ↓5+12
Comments25
1
23 ...