Spring АйО
8.43K subscribers
303 photos
209 videos
402 links
Русскоязычное сообщество Spring-разработчиков.

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

Канал для общения: @spring_aio_chat
Download Telegram
🛡 Безопасность приложений: инструменты и практики для Java-разработчиков

Наши друзья из Axiom JDK вместе с PVS-Studio проведут вебинар о том, как быстро и эффективно защищать Java-приложения. Будут разобраны темы ГОСТ, критических ошибок и процессов безопасной разработки. Будет показана на примерах работа с PVS-Studio и продуктами Axiom JDK, рассказано, как собрать безопасную инфраструктуру и реализовать РБПО.

👨‍💻 Полезно тимлидам и разработчикам
🔍 В программе:
– безопасная разработка и ГОСТы
– выявление критических ошибок
– безопасность контейнеров и JDK
– атаки на цепочки поставок

Вебинар пройдет 19 июня в 11:00

📌Участие бесплатное при условии предварительной регистрации
Please open Telegram to view this post
VIEW IN TELEGRAM
👍135🔥5👎1
Media is too big
VIEW IN TELEGRAM
🍃 Spring Data тонет в транзакциях, Hibernate виноват, ORM в панике | Spring АйО Подкаст №23

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

💬 Аудио версию подкаста можно найти в комментариях

Подписывайтесь:
😌@spring_aio
Please open Telegram to view this post
VIEW IN TELEGRAM
👍178🔥8😁3
🎉 Spring Now 2025 завершён — все записи уже выложены!

Спасибо всем, кто был с нами 6 марта. Мы выложили все доклады — смотрите на удобной платформе. Ссылки на плейлисты:

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

🎁 Подарки уже отправлены 10-рым счастливчикам, оставившим обратную связь после конференции

Если у вас есть идеи или пожелания по Spring Now 2026 — будем рады услышать! Делитесь в комментариях.

Приятного просмотра и до новых встреч! 💚

#spring_now_2025
Please open Telegram to view this post
VIEW IN TELEGRAM
25🔥18👍85
🛑 Использование сессии без транзакции — не повторяйте это дома!

На протяжении многих лет мы сталкивались с удивительно большим количеством людей, которые настаивают на том, что им нужно обращаться к базе данных «без транзакции» — под этим мы понимаем выполнение запросов с autoСommit = true в рамках JDBC. Мы уверены, что это почти всегда ужасная идея, и что большинство людей, поступающих так, просто заблуждаются относительно аспектов изоляции транзакций или не понимают, что использование автокоммита означает для управления пулом JDBC-соединений.

Тем не менее Hibernate это, пусть неохотно, но позволяет.

Если вы всё же решитесь на этот странный шаг:

🛑для начала убедитесь, что вы полностью осознаёте: база данных не сможете помочь Вам обеспечить привычную изоляцию транзакций,
🛑затем установите hibernate.connection.autocommit=true
🛑и обязательно убедитесь, что ваш пул соединений возвращает соединения с включённым автокоммитом по умолчанию.

На самом деле, просто не делайте этого, если только вы не настроили инструменты для анализа низкоуровневого взаимодействия между JDBC-драйвером и сервером базы данных, чтобы вы могли убедиться, что ваше понимание «без транзакции» соответствует действительности.

Если вы всё-таки хотите писать в базу данных с включённым автокомитом — это возможно, но вам придётся или вызвать flush() на Session-е явным образом, или, ещё лучше, использовать StatelessSession. И, пожалуйста, не жалуйтесь потом, что ваша база данных оказывается в неконсистентном состоянии.

🍃 Комментарий от экспертов Spring АйО:

Автокомит, действительно, негативно сказывается на производительности приложения. Помимо этого, с его помощью можно получить неконсистентное состояние БД при обновлении (например, при попытке исполнить набор UPDATE операций).

С другой стороны, если Вы используете Spring, то ваш @Autowired EntityManager entityManager или @PersistenceContext EntityManager entityManager, по-умолчанию, имеет lifecycle привязанный к жизни текущей транзакции Spring-а. То есть, Spring, по-умолчанию, требует от Вас декларировать транзакции в том или ином виде самостоятельно, чтобы Вы могли использовать EntityManager, что, в целом, довольно правильно.

🔗 Ссылка на userguide: https://docs.jboss.org/hibernate/orm/5.3/userguide/html_single/Hibernate_User_Guide.html#configurations-database-connection
Please open Telegram to view this post
VIEW IN TELEGRAM
👍136🔥4👌1
🎉 Нас уже больше 1000 на YouTube!

Друзья, совсем недавно на YouTube канал нашего сообщества подписался тысячный подписчик! Спасибо каждому из Вас!

Мы делаем контент, который хотели бы смотреть сами: подкасты, конференции, интервью, стримы.

😉 Кто ещё не с нами — подписывайтесь!
Please open Telegram to view this post
VIEW IN TELEGRAM
12🔥4210👍7
🧪 Как написать микробенчмарк?

Команда Spring АйО перевела статью, в которой приведено несколько правил, которые следует учитывать при написании микробенчмарков для HotSpot JVM.

📚 Читать на Хабре: https://habr.com/ru/companies/spring_aio/articles/920146/

Подписывайтесь:
😌@spring_aio
Please open Telegram to view this post
VIEW IN TELEGRAM
👍106🔥5👎1
Media is too big
VIEW IN TELEGRAM
🍃 Микробенчмарки лгут, JMH спасает, XY-проблема подкралась незаметно | Spring АйО Подкаст №24

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

💬 Аудио версию подкаста можно найти в комментариях

Подписывайтесь:
😌@spring_aio
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥147👍7
📢 Вышел Hibernate Search 8.0.0.CR1 — кандидат в релизы следующей мажорной версии!

Hibernate Search — это библиотека, которая связывает Hibernate ORM с Apache Lucene или Elasticsearch и автоматически индексирует сущности. Это даёт расширенные возможности поиска: полнотекстовый, геопространственный, агрегации и многое другое.

Что нового в 8.0.0.CR1:
🛑 Улучшенная интеграция с Hibernate Models
🛑 Изменения в Search DSL API для упрощения миграции
🛑Мелкие доработки и обновления зависимостей

🔗 Подробности в release notes.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥82
🚀 Spring Data JPA и Hibernate: ориентируемся на производительность. Часть 2

Команда Spring АйО перевела и адаптировала доклад Мацея Валковяка “Performance oriented Spring Data JPA & Hibernate”, в котором на наглядных примерах рассказывается, как существенно нарастить производительность приложения, оптимизировав его взаимодействие с БД. 

Доклад будет опубликован тремя частями. В первой части было рассказано об оптимизации управления подключениями к базе данных.

Во второй части мы посмотрим на то, как оптимизировать код и настройки Spring Data и Hibernate, чтобы минимизировать количество отправляемых в базу данных SQL запросов.

📚 Читать на Хабре: https://habr.com/ru/companies/spring_aio/articles/922034/

Подписывайтесь:
😌@spring_aio
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21🔥115
🔧 Анатомия неудачного микробенчмарка

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

Автор объясняет, почему микробенчмарки часто измеряют не то, что вы думаете, и почему для получения осмысленных результатов лучше использовать макротесты или полагаться на экспертов.

📚 Читать на Хабре: https://habr.com/ru/companies/spring_aio/articles/922848/

Подписывайтесь:
😌@spring_aio
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🔥107
Media is too big
VIEW IN TELEGRAM
🍃 Hibernate не нужен, Java ломает парадигмы, Project Amber меняет правила игры | Spring АйО Подкаст №25

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

💬 Аудио версию подкаста можно найти в комментариях

Подписывайтесь:
😌@spring_aio
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17👍98