ru
Feedback
Spring АйО

Spring АйО

Открыть в Telegram

Русскоязычное сообщество Spring-разработчиков. Habr: bit.ly/433IK46 YouTube: bit.ly/4h3Ci0x VK: bit.ly/4hF0OG8 Rutube: bit.ly/4b4UeX6 Яндекс Музыка: bit.ly/3EIizWy Чат для общения: @spring_aio_chat По вопросам сотрудничества: @befayer

Больше

📈 Аналитический обзор Telegram-канала Spring АйО

Канал Spring АйО (@spring_aio) является активным участником. Сейчас сообщество объединяет 10 936 подписчиков, занимая 11 257 место в категории Технологии и приложения и 59 420 место в регионе Россия.

📊 Показатели аудитории и динамика

С момента создания невідомо проект демонстрирует стремительный рост, собрав аудиторию из 10 936 подписчиков.

Согласно последним данным от 07 июля, 2026, канал показывает стабильную активность. За последние 30 дней изменение числа участников составило 33, а за последние 24 часа — 1, при этом общий охват остаётся высоким.

  • Статус верификации: Не верифицирован
  • Уровень вовлечённости (ER): Средний показатель вовлечённости аудитории составляет 50.04%. В первые 24 часа после публикации контент обычно набирает 24.02% реакций от общего числа подписчиков.
  • Охват публикаций: В среднем каждый пост получает 5 471 просмотров. В течение первых суток публикация набирает 2 626 просмотров.
  • Реакции и взаимодействия: Аудитория активно поддерживает контент: среднее количество реакций на один пост — 57.
  • Тематические интересы: Контент сосредоточен на ключевых темах, таких как айо, хабр, api, jep, amplicode.

📝 Описание и контентная политика

Автор описывает ресурс как площадку для выражения субъективного мнения:
Русскоязычное сообщество Spring-разработчиков. Habr: bit.ly/433IK46 YouTube: bit.ly/4h3Ci0x VK: bit.ly/4hF0OG8 Rutube: bit.ly/4b4UeX6 Яндекс Музыка: bit.ly/3EIizWy Чат для общения: @spring_aio_chat По вопросам сотрудничества: @befayer

Благодаря высокой частоте обновлений (последние данные получены 08 июля, 2026) канал поддерживает актуальность и высокий уровень охвата публикаций. Аналитика показывает, что аудитория активно взаимодействует с контентом, что делает его важной точкой влияния в категории Технологии и приложения.

10 936
Подписчики
+124 часа
+57 дней
+3330 день
Архив постов
🆕 Новые возможности Hibernate 7.4 Hibernate 7.4, наконец, исправляет старую проблему с пагинацией и fetch join. Раньше запро
🆕 Новые возможности Hibernate 7.4 Hibernate 7.4, наконец, исправляет старую проблему с пагинацией и fetch join. Раньше запрос на первые 10 Order вместе с OrderItem не мог безопасно ограничиться на уровне SQL. Из-за join один заказ мог превратиться в несколько строк, и limit мог обрезать коллекцию. Поэтому Hibernate загружал все подходящие строки, а страницу выбирал уже в памяти. На больших данных это, конечно же, било по памяти и могло закончиться OutOfMemoryException. Да и в целом не очень перформансно это, согласитесь. Дождались, и теперь Hibernate сначала выбирает нужные id родительских сущностей во вложенном запросе, а затем загружает для них полные дочерние коллекции. Пагинация остается в БД, данные не режутся. Еще в 7.4 появились history и audit tables. @Temporal хранит версии строк и позволяет читать сущность на конкретный момент времени. @Audited пишет изменения ADD/MOD/DEL в audit-таблицу без Envers. 📎 Полный текст: https://habr.com/ru/companies/spring_aio/articles/1047844/

Repost from Axiom JDK
#вебинар 🛠 От BPMN до контейнера: собираем Java-приложение с OpenBPM и AxiomJDK Готовим вебинар о том, как создать Java-прил
#вебинар 🛠 От BPMN до контейнера: собираем Java-приложение с OpenBPM и AxiomJDK Готовим вебинар о том, как создать Java-приложение с рабочим BPM-процессом и пройти весь путь на практике: от выстраивания бизнес-логики до релиза в безопасном enterprise-контуре. Возьмем понятный пример: заявки, согласования, проверки. Покажем, как описать процесс в BPMN, связать его с Java, запустить на Axiom JDK и упаковать в контейнер. Отдельно разберем, где может помочь ИИ: не вместо команды, а вместе с ней — чтобы быстрее проходить рутину, но сохранять управляемость, контроль и зоны ответственности. Обсудим: — как создать Spring Boot-приложение в OpenIDE с плагином OpenBPM; — как выстроить BPMN-процесс и реализовать бизнес-логику на Java; — где ИИ помогает ускорить подготовку структуры приложения, кода, правил и тестов; — как Amplicode MCP и ИИ-плагины для OpenIDE снимают часть ручной рутины; — как запустить приложение на AxiomJDK и упаковать его в защищенный контейнер Axiom Containers; — зачем enterprise Java-приложениям безопасный runtime и как готовиться к рискам после завершения open-source поддержки Spring Boot 3.5. 👥 Будет интересно тимлидам, DevOps, ИБ, BPM-командам и компаниям, которые присматриваются к ИИ-инструментам для разработки. Спикеры: — Никита Щиенко, Tech Lead, OpenBPM — Максим Сафронов, Технологический консультант Axiom JDK 📅 16 июня, онлайн, 11:00 Как и всегда, для участия нужно только зарегистрироваться. Вперед!

👩‍💻 Вышел Spring AI 2.0.0 GA Пожалуй, это релиз, после которого Spring AI становится все ближе к тому, чтобы стать production-инструментом. Что в нём особенно важно:
— Упростили работу с tools Теперь Spring AI лучше работает со сценариями, где модель должна вызывать внешние функции и инструменты. Плюс появился механизм, который помогает не отправлять модели сразу все доступные инструменты, а подбирать только нужные. Это полезно, когда инструментов много и не хочется засорять контекст. — Сильнее прокачали MCP Spring AI обновился до MCP SDK 2.0 и в целом стал лучше встроен в историю с MCP. Для тех, кто смотрит в сторону AI-приложений с внешними инструментами и сервисами, это важный шаг. — Обновили интеграцию с OpenAI Под капотом Spring AI теперь использует официальный Java SDK от OpenAI. Для разработчиков это обычно хороший знак: меньше самодельных решений, больше стабильности и предсказуемости. — Привели в порядок память чата Проще говоря, Spring AI стал аккуратнее хранить историю сообщений. Это значит, что в реальных приложениях меньше шансов получить путаницу в сообщениях, неправильный порядок ответов и странное поведение модели. — Сделали настройки более понятными Меньше неявной магии, больше прозрачности. Некоторые настройки теперь работают предсказуемее, и поведение модели проще контролировать явно.
В общем стало больше предсказуемости, лучше интеграция со Spring-стеком, меньше неявного поведения в чувствительных местах вроде tool calling, memory и MCP. Помним, что это major release. Переход с 1.1.x потребует внимательного апгрейда: breaking changes есть в tool calling, memory, MCP и конфигурации. 📎 Документация по 2.0.0 📎 Документация по переезду с 1.1.х на 2.0.0Кто-то использует Spring AI в реальных сервисах? Или еще подождем?

🍃 Stable Values, как сломать final, Saga — боль | Spring АйО Подкаст №64 😉 СМОТРЕТЬ НА YOUTUBE 😄 Чуть позже... 🥰 СМОТРЕТЬ НА RUTUBE 🗯 Чуть позже... 🤩 СЛУШАТЬ НА SPOTIFY 🤩 СЛУШАТЬ НА APPLE PODCASTS 💬 Аудио версию подкаста можно найти в комментариях

☠️ Частая проблема в дизайне API в Java, которая будет Вам стоить очень дорого ☠️ Даже в очень аккуратном Java API иногда пря
☠️ Частая проблема в дизайне API в Java, которая будет Вам стоить очень дорого ☠️ Даже в очень аккуратном Java API иногда прячется ошибка, которая сначала выглядит как мелочь, а потом превращается в источник очень дорогих проблем. Особенно неприятно, когда всё начинается с безобидного getXXX(), который вроде бы просто геттер, отдающий данные наружу. Но проблема в том, что в этот момент наружу может утекать изменяемое внутреннее состояние объекта. А значит, ломается инкапсуляция, начинают нарушаться инварианты, а баги в таких местах потом дебажатся мучительно долго. Для библиотек и платформенного кода это ещё опаснее: однажды такой API становится публичным контрактом, и цена ошибки вырастает в разы. И самое неприятное, что на этом история не заканчивается: подобные решения иногда расширяют attack surface системы и в плохом сценарии становятся частью куда более серьёзных инцидентов. В новой статье разбираю именно такой случай на простом Java-примере и показываю, почему эта ошибка в дизайне API может стоить очень дорого. Если вам близки темы Java, Spring и аккуратного API-дизайна, почитайте, статья небольшая 😉 📎 Читать на Хабр: https://habr.com/ru/companies/spring_aio/articles/1046620/

⚡️ Skill of the Week: Spring Explore Разработка с применением AI-агентов находит все больше поклонников, в том числе среди уч
⚡️ Skill of the Week: Spring Explore Разработка с применением AI-агентов находит все больше поклонников, в том числе среди участников и экспертов нашего сообщества. Поэтому мы решили запустить еженедельную рубрику Skill of the Week, в которой будем рассказывать о полюбившихся нам скиллах и практиках использования AI-агентов. В этот раз мы разбираем Spring Explore Skill.
Как вы знаете, первичное наполнение контекста — крайне важная задача. При этом все популярные агенты (Claude Code, Codex, OpenCode и т. д.) выполняют ее без какого-либо понимания, как устроены приложения, написанные на Spring. Как результат: не находятся бины, дублируются компоненты, снижается скорость работы и растет расход токенов. Эти проблемы как раз и призван решить данный скилл.
📚 Погружаемся в Spring Explore на Хабре: https://habr.com/ru/companies/haulmont/articles/1041314/

📚 Лицензирование ПО. Вам следует это знать Лицензирование софта вещь довольно сложная и многогранная. В повседневной жизни,
📚 Лицензирование ПО. Вам следует это знать Лицензирование софта вещь довольно сложная и многогранная. В повседневной жизни, разработчик не так часто сталкивается с её аспектами. Тем не менее, для инженеров уровня Senior и выше эти знания крайне важны. Выбирая библиотеку или стек для будущего проекта, всегда крайне важно обращать внимание на стратегию лиценизирования проекта, чтобы потом экстренно не выпиливать то или иное решение, или в крайнем случае, не попасть в судебное разбирательство. В новой статье наш эксперт, Михаил Поливаха, решил расписать по полочкам: 🔘Что вообще такое Copyright? 🔘Что такое лицензия и какие основные типы лицензий бывают? 🔘Что же на самом деле такое "Open Source"? Многие понимают "Open Source" неправильно. 🔘И наконец, как на практике крупные проекты лицензируют свои программные продукты 📎 Читать на Хабр: https://habr.com/ru/companies/spring_aio/articles/1044986/

🍃 Скрытые фичи Claude, Python быстрее Java, администрирование Spring Boot | Spring АйО Подкаст №63 😉 СМОТРЕТЬ НА YOUTUBE 😄 СМОТРЕТЬ В VK ВИДЕО 🥰 СМОТРЕТЬ НА RUTUBE 🗯 СЛУШАТЬ НА ЯНДЕКС.МУЗЫКЕ 🤩 СЛУШАТЬ НА SPOTIFY 🤩 СЛУШАТЬ НА APPLE PODCASTS 💬 Аудио версию подкаста можно найти в комментариях

🫡 Блеск и нищета Именно так называется наша первая статья, вышедшая ровно 2 года назад. Вот она: Блеск и нищета нового Scrolling API в Spring Data За все время мы выпустили 248 статьей. И вот небольшая статистика по ним: 📎 Самая просматриваемая статья (111к просмотров) и самая комментируемая (130 комментов): Как жить без IntelliJ IDEA? Часть №1. Собери сам 📎 Самая залайканная статья (64 лайка): OpenIDE: первая российская среда разработки с поддержкой Java 24 📎 Самая заминусованная статья (-13 голосов): REST умер? Почему Java-разработчики уходят в GraphQL 📎 Собравшая наибольшее количество сохранений в избранное (251 сохранение): Как подготовиться и пройти System Design Interview 📎 Самая дочитываемая статья: Hibernate merge: начали за здравие, закончили за упокой Давайте обсудим в комментариях, чего нам не хватает, а чего наоборот, слишком много. Будем рады фидбеку! Спасибо всем за все! 💚

👻 Проблема фантомной записи В проде бывает так, что одна и та же операция часто повторяется: клиент не дождался ответа и рет
👻 Проблема фантомной записи В проде бывает так, что одна и та же операция часто повторяется: клиент не дождался ответа и ретраит, балансер порвал соединение, очередь переиграла сообщение. Вспоминаем про идемпотентность - это правило «повтор не должен создавать новый платёж/заказ». Чтобы отличать повтор от новой операции, используют idempotency key (ключ идемпотентности). Это обычная уникальная строка-идентификатор, которую клиент или апстрим отправляет вместе с запросом (часто в заголовке `Idempotency-Key`). Сервис сохраняет этот ключ у себя и связывает с результатом операции. Далее приходит запрос с тем же ключом - сервис не выполняет бизнес-действие второй раз, а дедуплицирует на основе ключа идемпотентности. Но так ли всё просто? Многолетний опыт анализа инцидентов показал, что на практике большое количество систем всё же регулярно допускают дублирования, хотя делали всё по методичке. В статье как раз речь про не самые очевидные ошибки и то, о чём стоит подумать, при реализации идемпотентного API. 📎 Полный текст: https://habr.com/ru/companies/spring_aio/articles/1043208/

G1 хотят сделать GC по умолчанию вообще везде. Даже там, где JVM раньше выбирала Serial. Это важное, но на первый взгляд не самое громкое изменение в HotSpot. Сейчас логика такая: — в серверных сценариях JVM уже давно по умолчанию выбирает G1; — в более ограниченных средах, например с небольшим объёмом памяти или малым числом CPU, JVM могла выбрать Serial GC. Теперь так: если вы явно не указали GC, HotSpot всегда выбирает G1. Почему так решили? Когда G1 сделали дефолтным для серверных окружений в JDK 9, у Serial оставались заметные плюсы в более узких конфигурациях — по throughput и memory footprint. Поэтому JVM сохраняла отдельную ветку выбора для “маленьких” сред. Но с тех пор G1 сильно подтянули: — по пропускной способности он уже близок к Serial; — по паузам он давно выглядит лучше; — по потреблению нативной памяти тоже стал гораздо конкурентоспособнее. То есть аргумент “в ограниченной среде по умолчанию нужен именно Serial” уже не выглядит таким железным. Что это значит на практике? — поведение JVM станет предсказуемее; — дефолтный GC больше не будет зависеть от того, сколько у вас CPU и памяти; — разбирать поведение приложения и JVM станет проще. При этом важно: — Serial никуда не исчезает; — если он лучше подходит вашему кейсу, его по-прежнему можно указать явно; — речь не о том, что Serial плохой, а о том, что G1 теперь достаточно хорош, чтобы быть разумным дефолтом везде. Конечно, это не революция, но признак зрелости G1: из дефолта для серверов он превращается в универсальный baseline для HotSpot. ❓А вы вообще в проде/локально полагаетесь на GC по умолчанию или всегда фиксируете его флагами?

🔮 Перевополщение Stable Values в JDK 26 Ленивая инициализация в Java почти всегда значит: поле сначала null, потом double-ch
🔮 Перевополщение Stable Values в JDK 26 Ленивая инициализация в Java почти всегда значит: поле сначала null, потом double-checked locking, volatile, синхронизация. Ошибиться легко, а final не поставить. Итог - код хрупче и JVM хуже делает constant folding. В JDK 26 (preview, JEP 526) добавили LazyConstant<T>: final поле, рецепт вычисления через Supplier, значение доступно через get(). Supplier выполнится при первом get и только один раз успешно, даже при гонке потоков. Кроме этого значение помечается как @Stable - JVM может считать его константой и агрессивнее оптимизировать. Граничные случаи: null нельзя; не сериализуется; исключение из Supplier пробросится и следующая попытка снова пересчитает; equals у LazyConstant - только identity. Для 1:n есть List.ofLazy и Map.ofLazy: элементы/значения считаются по индексу/ключу по требованию и кэшируются. 📎Полный текст — https://habr.com/ru/companies/spring_aio/articles/1042294/

Axelix. Элитный спецназ для Вашей Spring Boot экосистемы. Друзья, на JPoint мы обещали анонс продукта с Open Source ядром, ко
Axelix. Элитный спецназ для Вашей Spring Boot экосистемы. Друзья, на JPoint мы обещали анонс продукта с Open Source ядром, который помогает в разработке, тестировании и отладке Spring Boot приложений. И мы это сделали 😎. Конечно же, речь про Axelix. И на днях, наконец, состоялся первый Milestone релиз! GA релиз Axelix состоится летом 2026 года. В этот воскресный вечер представляем Вашему вниманию статью Михаила, где он поясняет, в чём заключается цель проекта Axelix, какие проблемы он призван решить, и почему не Spring Boot Admin. Приятного чтения! 📎 Ссылка на статью: https://habr.com/ru/companies/spring_aio/articles/1041836/

🤫 Оказывается, документация Claude Code рассказывает не всё Стоило только лишь заглянуть в исходники. И вот, например, что м
🤫 Оказывается, документация Claude Code рассказывает не всё Стоило только лишь заглянуть в исходники. И вот, например, что можно настроить, но чего нет в доке: — hooks, которые переписывают команды на лету; — автоодобрение safe-команд без лишних подтверждений; — постоянная память агентов между сессиями; — auto-mode, который понимает описание окружения на обычном английском; — самообучающиеся циклы памяти и «снов»; — скрытые поля skills, agents и permissions, которых нет в документации. И все это работает уже сейчас, а исходники-то Claude Code лежат у вас в node_modules. Мы собрали все в статью. Там больше конкретики, JSON-конфигов, shell-хуков и примеров, которые можно утащить себе почти без правок. 📎 Статья: https://habr.com/ru/companies/spring_aio/articles/1041156/

🍃 Как слить пароль, карьеру и релиз за один выпуск | Spring АйО Подкаст №62 😉 СМОТРЕТЬ НА YOUTUBE 😄 СМОТРЕТЬ В VK ВИДЕО 🥰 СМОТРЕТЬ НА RUTUBE 🗯 Чуть позже... 🤩 СЛУШАТЬ НА SPOTIFY 🤩 СЛУШАТЬ НА APPLE PODCASTS 💬 Аудио версию подкаста можно найти в комментариях

👩‍💻 Java — быстрая. Ваш код может таким не быть Есть такие анти‑паттерны, которые выглядят нормально и даже проходят код‑ре
👩‍💻 Java — быстрая. Ваш код может таким не быть Есть такие анти‑паттерны, которые выглядят нормально и даже проходят код‑ревью, но тихо убивают производительность в горячих местах: - Конкатенация строк в циклах - String.format() в горячем коде - Автобоксинг и так далее. И каждый подобный пролёт делает приложение чуть медленнее, и в какой-то момент это рискует превратиться в критическую массу, которая больно выстрелит на следущем спайке нагрузки. Если вы пишете на Java и у вас всё вроде работает, но под нагрузкой сервисы начинают задыхаться, эта статья покажет конкретные паттерны, на которые стоит посмотреть. 📎 Полный текст: https://habr.com/ru/companies/spring_aio/articles/1039778/

🧂 Соль и перец в безопасности паролей Безопасность данных сегодня стала главным приоритетом для любого веб-ресурса. Базовым
🧂 Соль и перец в безопасности паролей Безопасность данных сегодня стала главным приоритетом для любого веб-ресурса. Базовым стандартом защиты учетных записей является хеширование паролей. Этот процесс превращает конфиденциальные символы в необратимый код. Без него утечка базы данных мгновенно скомпрометирует пользователей. Однако обычного хеширования недостаточно из-за угрозы быстрых хакерских атак. Для защиты разработчики применяют «соль» (salt) — случайные данные, добавляемые к паролю. Минус соли в том, что она хранится рядом с хешем и не спасает от мощного перебора. Тогда на помощь приходит «перец» (pepper), скрытый в коде сервера. Его главная проблема — высокий риск потерять доступ ко всем аккаунтам при компрометации самого секретного ключа. Эта статья поможет вам разобраться в эволюции методов криптографической защиты. Вы узнаете, как правильно комбинировать эти инструменты для надежной аутентификации. 📎 Полный текст: https://habr.com/ru/companies/spring_aio/articles/1038478/

Repost from OpenIDE
⚡️ HolyJS, прогрев к блокировке GitHub и 1 000 000 стрчоек кода за 9 дней GitHub начал работать с 16% сбоев в РФ и его уже на
⚡️ HolyJS, прогрев к блокировке GitHub и 1 000 000 стрчоек кода за 9 дней GitHub начал работать с 16% сбоев в РФ и его уже называют «вредительской платформой», уволенные из Oracle 30 тысяч человек хотели пособий, но остались ни с чем. Плюс история о том, как Bun переписали с Zig на Rust за 9 дней: миллион строк благодаря Mythos и Claude Code! 😉 СМОТРЕТЬ НА YOUTUBE 😄 СМОТРЕТЬ В VK ВИДЕО 🥰 СМОТРЕТЬ НА RUTUBE

🤘Java Rock Star Meetup У наших друзей из Axiom JDK традиционно повод собраться офлайн: 28 мая они отмечают 31-й день рождени
🤘Java Rock Star Meetup У наших друзей из Axiom JDK традиционно повод собраться офлайн: 28 мая они отмечают 31-й день рождения Java и зовут Java-комьюнити на митап в Москве. В программе все, за что мы любим такие встречи: сильные доклады, живые обсуждения, немного холиваров, разговоры по делу и нормальная ламповая атмосфера. Конечно, будут подарки, мерч и торт. 📍 28 мая, 18:30 Москва, Loft Casa Picassa, Бауманская 🎤 Что по докладам? Наш эксперт, Евгений Сулейманов «Превратности @Transactional: как Spring спасает целостность и тихо ломает прод» Разбор знакомой каждому Spring-разработчику аннотации без магии и упрощений: как @Transactional влияет на latency, HikariCP, JDBC-соединения, блокировки в PostgreSQL, Hibernate flush, rollback-правила и p95/p99 в проде. — Дмитрий Соломенников «Не Котлином единым, или почему одного языка недостаточно» Разговор о том, почему экосистема не заканчивается на Kotlin, какие еще языки и проекты развиваются рядом, зачем это все вообще нужно и возможен ли когда-нибудь действительно универсальный язык программирования. 👉 Для участия нужна только регистрация.

🤩 Контроль API без боли: ArchUnit, Gradle и правила для библиотек В Netflix тысячи Java-репозиториев. Когда в библиотеку вно
🤩 Контроль API без боли: ArchUnit, Gradle и правила для библиотек В Netflix тысячи Java-репозиториев. Когда в библиотеку вносят изменение, часть пользователей может перестать собираться или начать работать некорректно. Чаще всгео эта проблема возникает потому, что public контракты являются public только для авторов библиотеки, а не для пользователей. Ребята из Netflix ввели простые метки для API: @Public - можно использовать снаружи, @Experimental - тоже можно, но интерфейс может меняться, @Deprecated - готовится к удалению. Все остальное считается внутренним и использованию извне не подлежит. Но сами аннотации проблему не решают, нужна проверка на масштабе. Решение - ArchUnit + Nebula ArchRules. ArchUnit анализирует скомпилированный байткод, поэтому одинаково работает для Java/Kotlin/Scala и проверяет реальный код на classpath. Команды пишут правила (например: «вне пакета библиотеки нельзя зависеть от ее deprecated/internal API»), публикуют их как отдельный arch-rules JAR, а runner автоматически запускает проверки в репозиториях и делает отчеты с точной строкой нарушения. 📎 Полный текст: https://habr.com/ru/companies/spring_aio/articles/1037012/