Pull to refresh
26
90.9
Spring АйО @spring_aio

Главный по Spring

Send message

Лучший способ создания нескольких окружений для Spring Boot приложения с помощью Docker Compose

Level of difficultyEasy
Reading time10 min
Views1K

В новой статье от команды Amplicode я расскажу, как можно создать несколько Docker Compose файлов для разных нужд. Например, для продакшена и разработки, и при этом не утонуть в копипасте.

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

Перевод серверов СЭД на Linux и Postgres на практике

Level of difficultyMedium
Reading time14 min
Views1.1K

Привет, Хабр! Это вторая серия кейса по переводу на Linux и Postgres серверов системы электронного документооборота ТЕЗИС в компании ITMS (но можно читать ее как отдельную статью). Речь идет о крупном проекте — 2000 пользователей, БД на 700 Гб. Раньше ITMS было подразделением глобальной компании, после 2022 года произошла локализация бизнеса, из‑за этого встал вопрос перехода на российское ПО. СЭД ТЕЗИС — кроссплатформенный продукт на Java, поэтому переписывать систему не понадобилось. Сложность заключалась в сжатых сроках, большом объеме данных и том факте, что параллельно с заменой ОС и СУБД развивалась СЭД и перестраивалось связанное с ней ПО. В прошлой серии мы подробно рассказали о выборе ОС и СУБД, определении зон ответственности и совместимости версий. Сегодня — о том, как происходила замена.

Читать далее
Total votes 7: ↑7 and ↓0+11
Comments6

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

Level of difficultyEasy
Reading time4 min
Views2.3K

На прошлой неделе команда Amplicode провела митап, который длился целых 3,5 часа! За это время состоялось шесть докладов, затрагивающих все аспекты разработки приложений на Spring — от настройки окружения до создания бизнес-логики и реализации админки на React Admin.

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

Что нового в IntelliJ IDEA 2024.2

Level of difficultyEasy
Reading time4 min
Views15K

Недавно вышла новая версия IntelliJ IDEA 2024.2, в которой появилось довольно много новых фич. Команда Amplicode подготовила обзор основных возможностей IDE, которые на данный момент доступны российским разработчикам без каких-либо ограничений.

Читать далее
Total votes 37: ↑31 and ↓6+29
Comments29

Workspaces в IntelliJ IDEA

Level of difficultyEasy
Reading time9 min
Views7.4K

Команда Spring АйО продолжает следить за последними новинками в мире инструментов для разработчиков. В нашем новом переводе вы узнаете о недавно появившемся плагине для IntelliJ IDEA, который предоставляет долгожданную многими функциональность.

Читать далее
Total votes 18: ↑16 and ↓2+17
Comments3

Не используйте Lombok с JPA, пока не прочтете эту статью

Level of difficultyEasy
Reading time8 min
Views11K

Lombok — действительно отличный инструмент. Одна строчка кода, и все ваши JPA сущности перестают корректно работать ;) Но это только в том случае, если вы не знаете, какие фичи Lombok можно использовать вместе с JPA, а какие лучше не стоит. 

В этой статье я расскажу про большинство подводных камней, с которыми можно столкнуться, используя Lombok вместе с JPA, и про то, как их обойти используя Amplicode.

Читать далее
Total votes 18: ↑15 and ↓3+15
Comments24

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

Level of difficultyEasy
Reading time16 min
Views7.5K

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

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

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

Что нового в Amplicode 2024.2

Level of difficultyEasy
Reading time4 min
Views2.5K

Мы рады сообщить, что второй мажорный релиз Amplicode в 2024 году успешно состоялся. В этот релиз вошло большое количество улучшений, исправлений и новых фич. Вот некоторые из них: 

* Gutter Icons для Spring-объектов

* Улучшенная генерация Spring Web тестов

* Поддержка Extends и Include в Docker Compose

* Генерация отдельных HTTP-методов для REST-контроллеров

* Поддержка Kubernetes и Helm

Подробнее о каждом из нововведений рассказали в статье.

Читать далее
Total votes 21: ↑20 and ↓1+21
Comments3

Flyway + Spring Boot: настройка и написание миграций баз данных

Level of difficultyEasy
Reading time11 min
Views2.9K

Написание скриптов миграции трудоёмкий процесс. И если есть возможность это дело автоматизировать – этим нужно пользоваться!

В этом гайде я расскажу как подключить и настроить Flyway в Spring Boot приложении, сгенерировать скрипты инициализации и миграции схемы базы данных вместе с Amplicode!

Читать далее
Total votes 14: ↑14 and ↓0+16
Comments3

Declarative Gradle: рывок или прорыв?

Level of difficultyEasy
Reading time12 min
Views8.8K

Полгода назад команда Gradle представила новый продукт — Declarative Gradle. Команда Spring АйО, со своей стороны, провела исследование и готова поделиться результатами. 

TL;DR: технология всё ещё активно развивается, но пока что не поддерживается привычными инструментами, такими как IntelliJ IDEA. Несмотря на это, нам удалось запустить Spring Boot приложение!

Читать далее
Total votes 22: ↑20 and ↓2+22
Comments27

Обзор GigaIDE от СБЕРа | Российская IntelliJ IDEA | Поддержка Spring вместе с Amplicode

Level of difficultyEasy
Reading time8 min
Views28K

Недавно СБЕР выпустил GigaIDE — новую IDE для Java, Kotlin и не только. Это событие вызвало бурные обсуждения среди разработчиков. Чаще всего звучали следующие вопросы:

Чаще всего звучали следующие вопросы:

1. Это просто пересобранная версия IntelliJ IDEA Community Edition?
2. Если нет, что нового предлагает GigaIDE?
3. Поддерживает ли она работу с базами данных и Spring?

Сегодня отвечу на эти и другие вопросы, которые могут возникнуть у тех, кто заинтересовался GigaIDE.

Читать далее
Total votes 34: ↑27 and ↓7+23
Comments44

7 основных способов оптимизировать кеширование в Spring Boot

Level of difficultyEasy
Reading time10 min
Views9.2K

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

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

Читать далее
Total votes 21: ↑20 and ↓1+22
Comments3

Переписывая историю: от инструментов версионирования БД к практике

Level of difficultyEasy
Reading time23 min
Views3.2K

Пожалуй, почти каждый Spring разработчик сталкивается в своей практике с версионированием баз данных. На эту тему есть отличный доклад на Joker 2023 от Александра Шустанова, в котором спикер сравнивает 2 самых популярных инструмента для миграций БД: Flyway и Liquibase. Редакция Spring АйО приводит транскрипт доклада, для тех, у кого нет 45 минут для просмотра видео.

В статье вас ожидает обзор ключевых особенностей Liquibase и Flyway, а также сравнение их возможностей. Расскажем, когда нужно создавать миграции, как облегчить этот процесс и уменьшить количество ошибок. Осветим некоторые малоизвестные возможности этих инструментов и развеем мифы о других.

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

Устойчивость микросервисных Spring приложений: роль аннотации @Transactional в предотвращении утечки соединений

Level of difficultyEasy
Reading time5 min
Views6K

В новом переводе от команды Spring АйО вы узнаете, как аннотация @Transactional помогла решить проблему с утечкой соединений и обеспечила стабильность системы.

Читать далее
Total votes 13: ↑11 and ↓2+11
Comments22

Liquibase + Spring Boot: настройка и написание миграций баз данных

Level of difficultyEasy
Reading time11 min
Views6.8K

Написание скриптов миграции трудоёмкий процесс. И если есть возможность это дело автоматизировать – этим нужно пользоваться!

В этом гайде я расскажу как подключить и настроить Liquibase в Spring Boot приложении, сгенерировать скрипты инициализации и миграции схемы БД, а также дополнить уже существующие changelog файлы новыми скриптами миграции вместе с Amplicode!

Читать далее
Total votes 13: ↑11 and ↓2+10
Comments16

Markdown в IntelliJ IDEA как отдельный вид искусства. Рисуем диаграммы и вызываем bash команды

Level of difficultyEasy
Reading time3 min
Views12K

Spring разработчики часто пишут документацию и README/HELP файлы к своим приложениям. Часто это делается в Markdown файлах. Markdown плагин в IntelliJ IDEA распознает файлы, предоставляет специальный редактор с подсветкой, автокомплитом и форматированием, а также дает визуальное отображение в панели предварительного просмотра в реальном времени. Кроме стандартной функциональности в IntelliJ IDEA есть пару уникальных фич, которые команда Spring АйО хотела бы выделить особенно.

Читать далее
Total votes 22: ↑21 and ↓1+21
Comments13

Почему String Templates не будет в Java 23?

Level of difficultyEasy
Reading time8 min
Views5.8K

Неожиданный поворот в поддержке StringTemplates в JDK 23. Команда Java решила отказаться от функциональности, которая есть в большинстве современных языках программирования. Почему так произошло? Кажется, из-за слишком большой гибкости, которую заложили на ранних этапах разработки, а также, нежелания просто сделать “синтаксический сахар” для строковой интерполяции. А чего же хотели разработчики на самом деле? Нам кажется, что все-таки - последнего. Сообщество Spring АйО представляет перевод почтовой переписки Гэвина Бирмана и Брайана Гоеца, в которой решается судьба Spring Templates. 

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

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

Level of difficultyMedium
Reading time12 min
Views8.8K

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

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

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

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

Level of difficultyEasy
Reading time4 min
Views11K

Эта статья по 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

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

Reading time3 min
Views5.5K

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

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

Information

Rating
76-th
Works in
Registered
Activity