Spring АйО
8.44K subscribers
304 photos
215 videos
403 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
⚡️ OpenIDE – открытая IDE для российских разработчиков

Компания Haulmont совместно с Группой Астра и Axiom JDK анонсировала некоммерческое партнерство для развития открытой российской среды разработки – OpenIDE.

Почему это хорошая новость для российских разработчиков? Чем OpenIDE отличается от IntelliJ IDEA CE или уже существующей российской GigaIDE? Какие языки будут поддерживаться? Что со Spring? Когда релиз?

📚 Читайте на Хабре: https://habr.com/ru/companies/haulmont/articles/866388/

#breaking_news #openide
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3718🤯11👍7👎3😁2🤔21
🙈 Вся правда о @Subselect: преимущества, недостатки и альтернативы в Hibernate

В современных приложениях иногда возникает необходимость получать данные из сложных запросов и аннотация @Subselect в Hibernate может стать отличным решением.

В новой статье от эксперта сообщества Spring АйО, Михаила Поливахи, вы узнаете как использовать @Subselect, какие существуют альтернативы и в чём заключаются их преимущества и недостатки.

📚 Читайте на Хабре: https://habr.com/ru/companies/spring_aio/articles/867662/
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥226👍6
Forwarded from Amplicode
🏝 Новый HTTP-клиент от Amplicode на Kotlin Script для Spring-приложений и не только

В новом видео вы узнаете:
︎ Почему мы решили разработать собственный HTTP-клиент
︎ Чем он выделяется на фоне альтернативных решений
︎ Какие возможности открывает для Spring-разработчиков и не только
︎ Как писать запросы разного уровня сложности
︎ И в каком направлении мы будем развивать наше решение

😉 СМОТРЕТЬ НА YOUTUBE
😄 СМОТРЕТЬ В VK ВИДЕО
🥰 СМОТРЕТЬ НА RUTUBE
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥22👍125👎1
🛠 Gradle: Исправление зависимостей в один клик

Работаете с Gradle? Dependency Analysis Gradle Plugin помогает не только находить лишние зависимости, но и автоматически исправлять проблемы с ними.

Механизм fixDependencies переписывает скрипты сборки, чтобы они соответствовали реальной структуре проекта. Последние обновления сделали процесс анализа ещё точнее, а работу с Kotlin DSL — проще и надёжнее.

📚 Читайте про фикс зависимостей в один клик в новом переводе от команды SpringАйО: https://habr.com/ru/companies/spring_aio/articles/868440/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍246🔥5👌3
🍿 Записи докладов с Java Rock Stars Meetup

В начале декабря эксперты сообщества Spring АйО приняли участие в Java Rock Stars Meetup.

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

🧢 Михаил Поливаха "Spring Data JPA: всё сложнее, чем кажется"

🌐 Смотреть на YouTube
🌍 Смотреть на VK Видео

🎾 Павел Кислов "Spring Security: как дела?"

🌐 Смотреть на YouTube
🌍 Смотреть на VK Видео

P.S. А те, кто были оффлайн, - ищите себя в фотоальбоме 😉
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥31👍145
🧠 AI-ассистент с помощью Spring AI

Команда Spring АйО перевела туториал, в котором рассматриваются возможности Spring AI для интеграции с LLM.

Вы узнаете, как использовать API Function Calling для выполнения задач на естественном языке, генерировать ответы в JSON-формате и сохранять контекст диалога.

📚 Читайте на Хабре: https://habr.com/ru/companies/spring_aio/articles/869080/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍24🔥104
🏁 Как жить без IntelliJ IDEA? Часть 5. Заключение

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

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

📚 Читать на Хабре: https://habr.com/ru/companies/spring_aio/articles/869354/
👍18🔥65👎1
👩‍💻 JEP 485: Stream Gatherers

С выходом JDK 24 Stream API станет еще мощнее благодаря новому инструменту — Stream Gatherers. Этот подход позволит разработчикам создавать собственные промежуточные операции в потоках, повышая гибкость и выразительность программного кода.

Почему это важно?

До сих пор Stream API предлагал фиксированный набор операций, таких как map, filter, distinct, и другие. Однако некоторые задачи не могли быть легко решены встроенными методами. Например, если вы хотите выделить уникальные строки на основе их длины, это требовало сложных обходных путей:


record DistinctByLength(String str) {
@Override public boolean equals(Object obj) {
return obj instanceof DistinctByLength other && str.length() == other.str.length();
}
@Override public int hashCode() {
return str.length();
}
}

var result = Stream.of("foo", "bar", "baz", "quux")
.map(DistinctByLength::new)
.distinct()
.map(DistinctByLength::str)
.toList();

// result ==> [foo, quux]


С выходом фичи задача будет решаться гораздо проще:


var result = Stream.of("foo", "bar", "baz", "quux")
.gather(Gatherers.distinctBy(String::length))
.toList();

// result ==> [foo, quux]


Как работает Gatherer?

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

1. initializer — создает объект для хранения состояния.
2. integrator — обрабатывает элементы потока, при необходимости записывая данные в состояние.
3. combiner — объединяет результаты для параллельных потоков.
4. finisher — выполняет финальные действия, такие как добавление оставшихся данных.

Например, gatherer windowFixed группирует элементы в списки фиксированного размера:


Stream.of(1, 2, 3, 4, 5, 6, 7, 8, 9)
.gather(Gatherers.windowFixed(3))
.toList();

// result ==> [[1, 2, 3], [4, 5, 6], [7, 8, 9]]


Что это дает разработчику?

1. Гибкость: Возможность определять операции любой сложности.
2. Параллельность: Поддержка многопоточности при использовании combiner.
3. Снижение сложности: Простое выражение сложных операций без использования обходных решений.
4. Поддержка Stateful Stream Processing подхода

Заключение

JEP 485 — это достойный вклад в развитие Stream API, предоставляющий разработчикам инструменты для создания более выразительных и производительных потоков.

🔗 С полным описанием JEP можно ознакомиться по ссылке: https://openjdk.org/jeps/485

#Java #JEP
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥62👍217🤔62👎1
Forwarded from Amplicode (Aleksandr)
📊 Экосистема Spring в 2023/2024 годах

Каждый год мы проводим анализ использования технологий, связанных с экосистемой Spring.

Краткие результаты 2024 года в сравнении с прошлым годом:

1) Десять наиболее популярных технологий 2023 года остались в топе и в 2024 году.
2) Количество проектов на Spring Boot выросло в 2 раза. С бóльшей долей вероятности это связано с растущей популярностью Spring Boot.
3) Облачные технологии всё также продолжают набирать обороты в своей популярности.
4) Наблюдается явный рост использования микросервисных архитектур.
5) Рост Spring Data JDBC. Объяснить это можно несколькими причинами, но основная - стремление к упрощению небольших проектов в связи с высоким порогом входа в Hibernate, а также высокой ценой поддержки таких проектов.
6) Заметное развитие AI-технологий наподобие Spring AI. Точные цифры приведём уже в следующем году, ввиду новизны данных технологий.

Все данные были получены путем анализа зависимостей, используемых в проектах на GitHub.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥23👍136
🍃 Дорогие участники сообщества Spring АйО!

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

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

Спасибо, что выбираете нас! Вместе мы сможем ещё больше. 🎄
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍6431🔥226