TGViewer
Channel Public Channel
Spring АйО

Spring АйО

@spring_aio

Русскоязычное сообщество Spring-разработчиков.

Habr: bit.ly/433IK46
YouTube: bit.ly/4h3Ci0x
VK: bit.ly/4hF0OG8
Rutube: bit.ly/4b4UeX6
Яндекс Музыка: bit.ly/3EIizWy

Чат для общения: @spring_aio_chat
По вопросам сотрудничества: @befayer
Subscribers
10.9K
Photos
535
Videos
323
Links
708

Showing posts older than #1047 · Back to latest

Older Posts 17 shown
Post #1046 7.12K
Спасибо всем, кто был вчера в онлайне и задавал вопросы — получилось живо!

Запись трансляции «Научи своего AI-агента писать код на Spring» уже доступна на всех площадках.

😉 СМОТРЕТЬ НА YOUTUBE
😄 СМОТРЕТЬ В VK ВИДЕО
🥰 СМОТРЕТЬ НА RUTUBE

Все возможности Spring Agent Toolkit появятся в следующей мажорной версии Amplicode в начале следующей недели.

Как только релиз выйдет, опубликуем инструкцию по установке, настройке и использованию.


@amplicode 🤝 @spring_aio
  • ⚡ 25
  • 👍 19
  • 🔥 9
  • ❤ 3
Post #1045 6.8K
🍃 Beyond @SpringBootApplication: создание собственных экосистем поверх Spring Boot 😀

Друзья, встречаем второй из 5 докладов трека Spring АйО на самой важной конференции весны – JPoint 2026!

@SpringBootApplication — это только начало.

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

На JPoint 2026 в треке Spring АйО Никита Кириллов разберет, как строить платформенные решения поверх Spring Boot так, чтобы ими реально можно было пользоваться. На конкретном примере, с практикой из open-source.

Разберем четыре конкретных вопроса:

1. Как зарегистрировать бины динамически, если их количество заранее неизвестно? Разберем подходы и обсудим, что нового принес Spring Framework 7.

2. Как поддерживать стартер одновременно для разных версий Spring Boot? Обсудим архитектурные подходы и их компромиссы.

3. Как тестировать автоконфигурации быстро и в изоляции? Разберем ApplicationContextRunner, кеширование тестовых контекстов и что изменилось в Spring Framework 7.

4. Как гарантировать, что ваш стартер/библиотека работает на разных версиях Java? Обсудим, почему это важно, и посмотрим, как этот вопрос решает сам Spring Boot project.


⛔️Все доклады трека Spring АйО будут транслироваться в онлайне и будут доступны абсолютно бесплатно! Главное – зарегистрироваться.

Для тех, кто придет лично – наш зал будет под номером 2️⃣!

🗓 29 апреля
📍 Онлайн. Бесплатно
🏠 Оффлайн. Гостиница «Рэдиссон Славянская»: пл. Европы, 2

🔗 ЗАРЕГИСТРИРОВАТЬСЯ

@spring_aio 🩷 @jpoint_joker_channel
  • 👍 21
  • 🔥 10
  • 🤩 4
  • ❤ 3
  • ⚡ 3
Post #1044 6.89K
⚡ Научи своего AI-агента писать код на Spring

Уже завтра Павел Кислов и Илья Кучмин (AI DevTools Lead в Amplicode) проведут прямую трансляцию, на которой расскажут, как:

– ускорить разработку с AI-агентами (Claude, Codex, OpenCode, ...)
– снизить количество токенов во время решения рабочих задач
– и получать код, который не приходится переписывать вручную (ну почти)

Онлайн • Бесплатно • 23 апреля (17:00 МСК)

🎉 Главное зарегистрироваться через бота
  • 🔥 23
  • 👍 14
  • 🤩 6
  • ❤ 4
Post #1043 7K
👨‍💻 Structured Concurrency в Java 26 — шестое превью. JEP 525.

Проблема, которую решает эта фича, хорошо знакома любому, кто писал параллельный код на Java. ExecutorService, Future, CompletableFuture ничего не знают о связях между задачами. Три параллельные подзадачи для одного запроса живут в разных потоках без общего «родителя» — и если одна упала, об этом никто автоматически не узнает.

Классический пример: параллельно загружаем профиль, настройки и историю пользователя.


public class UnstructuredExample {

public static UserData loadUserData(int userId) {
String profile = fetchProfile(userId);
String preferences = fetchPreferences(userId);
String history = fetchHistory(userId);
return new UserData(profile, preferences, history);
}
}


Можно, конечно, попробовать добиться этого поведения вручную: добавить cancel() в catch, завернуть всё в CompletableFuture.allOf, аккуратно обработать CompletionException. Но очень легко сделать что-то не так. И чем больше задач — тем больше бойлерплейта, который всё равно не даёт нормальной иерархии, нормальных стектрейсов и легко читаемого кода.

Structured Concurrency решает это на уровне API.


public class StructuredExample {

public static UserData loadUserData(int userId) {
try (var scope = StructuredTaskScope.open(
StructuredTaskScope.Joiner.allSuccessfulOrThrow(),
Configuration cfg -> cfg
.withTimeout(Duration.ofSeconds(5))
.withName("load-user-data"))) {

// Fork all three subtasks — they run concurrently
var profile = scope.fork(() -> fetchProfile(userId));
var preferences = scope.fork(() -> fetchPreferences(userId));
var history = scope.fork(() -> fetchHistory(userId));

scope.join();

return new UserData(profile.get(),
preferences.get(),
history.get()
);
} catch (StructuredTaskScope.FailedException e) {
throw new RuntimeException("Failed to load user data: " + e.getCause().getMessage(), e);
}
}
}


Согласитесь, круто? Если любая задача упала — остальные отменяются автоматически. Поток-владелец гарантированно переживает все дочерние. Стектрейсы отражают реальную иерархию вызовов. Время жизни задач привязано к лексическому блоку — как try-with-resources. И, что самое главное, описанное выше поведение можно довольно легко настроить.

Данная функциональность, на самом деле, с нами уже довольно давно. А что же поменялось в Java 26 по сравнению с Java 25?

— скоуп создаётся через статический StructuredTaskScope.open() вместо new
— join() возвращает List вместо Stream — результаты материализованы сразу, без риска обратиться к ним после закрытия скоупа
— добавился joinUntil(deadline) — если задачи не успели к дедлайну, скоуп их отменяет

API явно стабилизируется, но одному Гослингу известно сколько еще итераций preview ждёт эта фича 🙂

Подробнее про Java 26 можно почитать и посмотреть в отдельном видео и статье на Хабре.

@spring_aio
  • 🔥 49
  • 👍 19
  • ❤ 11
  • ⚡ 3
Post #1042 7.42K
👻 REST умер? Почему Java-разработчики уходят в GraphQL

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

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

📎 Читать на Хабре: https://habr.com/ru/companies/spring_aio/articles/1026130/
  • 😁 44
  • 👍 9
  • ❤ 8
  • ⚡ 6
  • 🤔 6
Post #1041 6.59K
77% разработчиков используют Spring Boot 3, Cursor — всего у 2%, а средняя желаемая зарплата — 500 000 ₽ в месяц.

Это были цифры за прошлый год. Сейчас картина уже другая: появились новые IDE, в повседневную работу вошли AI-агенты, вышли новые версии наших любимых фреймворка и языков. Ну и по зарплатам планка, очевидно, должна была сдвинуться — 700k уже звучит реалистичнее))

Пора обновить данные!

JUG Ru Group проводит ежегодное исследование стека: какими языками, фреймворками, технологиями и инструментами пользуются Java-разработчики в России.


За участие разыгрывают 5 офлайн- и 10 онлайн-билетов на конференции JUG Ru Group. Приятный бонус :)

Самый важный опрос тут: State Of Java 2026
  • ❤ 15
  • 👍 8
  • 🔥 6
  • ⚡ 2
  • 🤩 2
  • 👌 2
Post #1040 7.67K
🍃 Когда тормозит Java? Владимир Плизга. Алексей Рагозин. Павел Кислов | Spring АйО Подкаст №59

😉 СМОТРЕТЬ НА YOUTUBE
😄 СМОТРЕТЬ В VK ВИДЕО
🥰 СМОТРЕТЬ НА RUTUBE
🗯 СЛУШАТЬ НА ЯНДЕКС.МУЗЫКЕ
🤩 СЛУШАТЬ НА SPOTIFY
🤩 СЛУШАТЬ НА APPLE PODCASTS

💬 Аудио версию подкаста можно найти в комментариях
  • 👍 16
  • 🔥 4
  • ❤ 1
Post #1038 7.36K
🍀 Как подружить безопасника, разраба и DevOps?

На онлайн вебинаре наших друзей Axiom наш эксперт Илья Сазонов ответит на насущные вопросы про то:

🔘как разделить зоны ответственности между разработкой, DevOps и ИБ;
🔘что меняется после завершения поддержки веток Spring в июне 2026 года;
🔘какие риски несёт прямое потребление компонентов из внешних источников;
🔘как подключать Axiom Spring и Axiom Repo без лишней боли в ежедневной работе;
🔘как сохранить привычный DX для разработчиков и при этом сделать процесс поставки зависимостей безопаснее на уровне платформы.

Кому будет полезно?

🔘DevOps-инженерам
🔘Java/Spring-разработчикам
🔘архитекторам
🔘техлидам
🔘платформенным командам и специалистам по ИБ.

📍 21 апреля в 11:00, онлайн
🔗 Зарегистрироваться
  • 👍 14
  • ❤ 5
  • 🔥 5
Post #1037 6.54K
🍃 Утечки памяти в Java, AI-агенты переоценены, зачем избегать merge | Spring АйО Подкаст №58

😉 СМОТРЕТЬ НА YOUTUBE
😄 СМОТРЕТЬ В VK ВИДЕО
🥰 СМОТРЕТЬ НА RUTUBE
🗯 СЛУШАТЬ НА ЯНДЕКС.МУЗЫКЕ
🤩 СЛУШАТЬ НА SPOTIFY
🤩 СЛУШАТЬ НА APPLE PODCASTS

💬 Аудио версию подкаста можно найти в комментариях
  • 🔥 16
  • ❤ 7
  • 👍 7
Post #1033 7.67K
🇪🇸 Мы в Барселоне!

Прямо сейчас в Барселоне проходит Spring I/O — одна из главных конференций для Spring-разработчиков.

И для нас особенно приятно, что там выступает наш эксперт — Михаил Поливаха.

Миша выступит с докладом Spring Data JDBC - Taming the Beast — про то, как проектировать агрегаты в Spring Data JDBC без лишней боли, скрытой сложности и неприятных сюрпризов по производительности. Но об этом чуть позже.

Поэтому...

⛔️Если у вас есть вопросы к команде Spring — про Spring Boot, Spring Data, Spring AI, Security, roadmap, миграции, production-боль или что-то еще — пишите их в комментарии под этим постом.

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

🎂 Хороший вопрос к Spring-команде — штука слишком ценная, чтобы держать его при себе, согласитесь.
  • 🔥 74
  • ❤ 21
  • 👍 15
  • 🤯 2
Post #1032 6.22K
🍃 Spring Data JDBC: Где мы находимся сейчас 😀

Друзья, встречаем первый из 5 докладов трека Spring АйО на самой важной конференции весны – JPoint 2026!

Молодое поколение врывается на сцену – Артемий Дегтярев расскажет, как поживает Spring Data JDBC в наше время.

Рассмотрим все последние фичи, от AOT-репозиториев и композитных ключей, до Single Query Loading, поговорим о мечтах про Scrolling API и о проблемах в реализации всех этих фич.


⛔️Все доклады трека Spring АйО будут транслироваться в онлайне и будут доступны абсолютно бесплатно! Главное – зарегистрироваться.

Для тех, кто придет лично – наш зал будет под номером 2️⃣!

🗓 29 апреля
📍 Онлайн. Бесплатно
🏠 Оффлайн. Гостиница «Рэдиссон Славянская»: пл. Европы, 2

🔗 ЗАРЕГИСТРИРОВАТЬСЯ

@spring_aio 🩷 @jpoint_joker_channel
  • 👍 20
  • ❤ 8
  • 🔥 6
Post #1031 6.56K
💡 JPA 4. Переосмысление Hibernate

Вышел первый milestone Jakarta Persistence 4.0 (JPA 4). Это крупнейшая переработка со времен JPA 2.0 (декабрь 2009).

Михаил Поливаха:

Статья является переводом анонса Гевина Кингa о релизе первого milestone JPA 4 спецификации и общего вектора развития JPA.

Полноценная 4-ая версия JPA спецификации должна выйти в этом году. Тем не менее, то, что сейчас в Milestone – это основа, которая, возможно, с небольшими доработками, но уже пойдёт в релиз в этом году.

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

P.S: У нас в рамках Spring АйО Академии как раз есть программа, посвящённая Hibernate. Набор мы на неё ведём до конца апреля.

В ней мы тоже затронем новую версию спецификации, в частности и работу со StatelessSession и EntityAgent на практике. Я думаю, что из всего апдейта, именно стандартизация работы без Persistence Context будет самым важным для прикладных разработчиков.

Приятного чтения!


📎 Читать на Хабре: https://habr.com/ru/companies/spring_aio/articles/1022564/
  • 👍 22
  • ❤ 6
  • 🔥 6
  • ⚡ 2
Post #1030 5.64K

Forwarded from Amplicode – ускоряем разработку на Spring

⚡️ Большая распаковка Java 26. Что этот релиз значит для нас всех?

В новом видео разбираемся:
🟡какие изменения стали финальными и доступны прямо сейчас
🟡какие требуют явного включения флагов
🟡и за какими пока стоит просто следить

Плюс рассмотрим один секретный JEP :D

😉 СМОТРЕТЬ НА YOUTUBE
😄 СМОТРЕТЬ В VK ВИДЕО
🥰 СМОТРЕТЬ НА RUTUBE
  • 🔥 19
  • 👍 7
  • ⚡ 3
  • 😁 1
Post #1029 7.5K
  • 🤔 14
  • 👍 5
  • ❤ 4
  • 🔥 2
  • ⚡ 1
Post #1027 7.2K
😭 Самый простой способ устроить утечку памяти в Java

Не секрет, что GC освобождает только недостижимые объекты. Утечка в Java начинается там, где объект уже не нужен, но на него все еще есть цепочка ссылок от живого потока.

Симптомы обычно одинаковые: куча растет, GC срабатывает чаще, паузы увеличиваются, финал - java.lang.OutOfMemoryError: Java heap space.

Самые частые ловушки и фиксы:
🔳static List/Map: добавили и не удалили - объекты остаются в памяти до выгрузки класса. Нужны remove/очистка, лимиты, иногда WeakHashMap.
🔳non-static inner/anonymous class: неявно держит ссылку на внешний объект, особенно если внутри бесконечный Thread.
🔳listener/callback: подписались и не отписались - источник событий удерживает объект (UI, event bus).
🔳ThreadLocal в пуле потоков: set() без remove().
🔳кэш на HashMap без maxSize/TTL: используйте политики вытеснения (Guava Cache, Caffeine)

В целом вывод такой, что нужно смотреть график heap в Grafana, снимать heap dump (jmap), в Eclipse MAT запускать Leak Suspects и проверять цепочки удерживающих ссылок.

📎 Читать на Хабре: https://habr.com/ru/companies/spring_aio/articles/1022018/
  • 👍 36
  • ❤ 10
  • 🔥 6
  • ⚡ 1
Post #1026 8.12K
🤩 Москва, джависты, газ знакомиться!

22 апреля мы проводим совместный митап с VK. Java и Spring без разогревающих докладов и воды.

Встречаемся офлайн в Москве и онлайн.

Что в программе:

🔘Observability-as-Code в Spring Boot: контракты и тесты для метрик, логов и рейсов. Наш эксперт Евгений Сулейманов

🔘Классы типов — возможное будущее Java: как Брайан Гётц предлагает развивать язык. Андрей Васильев, ведущий разработчик RuStore, VK

🔘Основная проблема взаимодействия с базами данных. Наши Илья и Фёдор Сазонов

После докладов тоже будет интересно — мастер-класс, общение, фуршет и нормальный нетворкинг.


❓ Когда: 22 апреля
🎯 Где: Москва, Скайлайт + онлайн
🎯 Сбор гостей: 18:30

📎 Участие бесплатное, главное – зарегистрироваться: https://vk.cc/cWheDY
  • 👍 24
  • 🔥 16
  • ❤ 11
  • 🤔 3
  • 🤯 2
  • ⚡ 1
Post #1025 6.85K
🍃 Claude слили, Spring Data JDBC еще может, GitHub не работает | Spring АйО Подкаст №57

😉 СМОТРЕТЬ НА YOUTUBE
😄 СМОТРЕТЬ В VK ВИДЕО
🥰 СМОТРЕТЬ НА RUTUBE
🗯 СЛУШАТЬ НА ЯНДЕКС.МУЗЫКЕ
🤩 СЛУШАТЬ НА SPOTIFY
🤩 СЛУШАТЬ НА APPLE PODCASTS

💬 Аудио версию подкаста можно найти в комментариях
  • 🔥 17
  • ❤ 6
  • ⚡ 5
  • 👍 2
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →