С радостью сообщаем, что успешно состоялся третий мажорный релиз Amplicode в 2024 году. Этот релиз включает множество улучшений, исправлений и новых фич. Вот основные из них:
- Поддержка Spring Data JDBC
- Рекомендательная система плагинов
- HTTP Client
Поддержка Spring Data JDBC
Думаю, многие из вас знают, что у истоков Amplicode стоял плагин JPA Buddy, который предоставлял очень много возможностей связанных с JPA. Amplicode – продукт сильно больше, для помощи с целой экосистемой Spring’а, а не только с небольшой его частью.
По этой причине мы не остановились том, что, так сказать, досталось нам по наследству, и поддерживаем и другие технологии для работы с данными.
Стоит упомянуть, что помимо поддержки JPA, Amplicode помогает работать и с Spring Data MongoDB. Однако, сегодня речь пойдет не об этом, поэтому предлагаем перейти обзору поддержки еще одной технологии для работы с персистентным слоем - Spring Data JDBC.
Команда Amplicode неоднократно слышала пожелания своих пользователей о том, что поддержка Spring Data JDBC была бы им полезна в нашем инструменте: от кого-то вживую, например, когда принимали участие в Joker и JPoint, а от кого-то и в нашем Telegram-чате. Кроме того, мы не оставили без внимания опрос наших друзей из сообщества Spring АйО, который ставит Spring Data JDBC в тройку самых используемых технологий для работы с БД.
Начиная с этой версии, Amplicode научился понимать Spring Data JDBC.
Уже сейчас вы можете – создавать Java классы с аннотацией
@Table:
А также наполнять наполнять их атрибутами через удобные диалоговые окна:
Мы не забыли и про поддержку Spring Data JDBC репозиториев: с помощью Amplicode вы можете создавать Spring Data JDBC репозитории. Воспользоваться данным действием можно, например, нажав на Gutter (1), выбрав действие создания репозитория в открывшемся popup-меню (2). Далее будет доступно окно по созданию требуемого репозитория с возможностью его настройки (3):
А также методы для них. Для этого нужно выбрать соответствующее действие на панели Amplicode Designer:
После чего откроется окно с настройкой метода:
Разработчики обычно выбирают один из двух подходов к проектированию: DB-first, когда база данных создаётся первой, а затем на её основе генерируются доменные классы, или Model-first, когда сначала проектируются модельные классы, а затем по ним создаётся база данных. Amplicode поддерживает оба подхода и предлагает удобный инструмент для reverse engineering: вы можете генерировать скрипты миграции для Liquibase и Flyway, независимо от того, какой метод вы используете.
Стоит отметить, что на данный момент Amplicode не поддерживает генерацию Init и Diff скриптов в Spring Data JDBC-проектах, в отличии от Spring Data JPA. Однако плагин поддерживает поочередное создание скриптов миграции через удобные диалоговые окна. В следующих релизах команда Amplicode планирует поддержать и ассоциативные атрибуты в файлах скриптов миграции, как это реализовано на JPA-проектах.
Доступен просмотр всех Java классов с аннотацией
@Table
и связанных с ними объектами в приложении в панели Amplicode Explorer.
Отдельно хотел бы поблагодарить всех тех, кто принял участие в нашем исследовании на тему использования Spring Data JDBC. С каждым из вас нам было очень приятно и самое главное полезно пообщаться!
Мы продолжим улучшать поддержку Spring Data JDBC в Amplicode в следующих релизах, отталкиваясь от ваших пожеланий и предложений в нашем Telegram-чате. Так что обязательно вступайте в него, если хотите повлиять на судьбу продукта!
Рекомендательная система плагинов
Для некоторых сценариев разработки мы видим, что Amplicode прекрасно сочетается с уже имеющимися на рынке решениями. Начиная с этого релиза в некоторых ситуациях вы сможете увидеть рекомендации от Amplicode, предлагающие включить тот или иной плагин.
Например, если вы пишите тесты, то плагин JSONPath может быть крайне полезным как для красивой подсветки элементов в assert’е, так и для предварительной проверки через специальную панель. Таким образом, мы должны находиться в тестовом
.java
или
.kt
классе (1), а в своих тестах должен быть любой вызов метода, который принимает
jsonPath
(3), только тогда плагин предложит плагин JSONPath для установки (2):
org.springframework.test.web.servlet.result.MockMvcResultMatchers#jsonPath
io.restassured.response.ValidatableResponseOptions#body
io.restassured.internal.ValidatableResponseOptionsImpl#content
А если вы будете работать с OpenAPI спецификацией, то Amplicode предложит два плагина на ваш выбор: OpenAPI (Swagger) Editor и Zalando OpenAPI Editor.
Amplicode также предложит установить MapStruct плагин, если вдруг он у вас не будет установлен, и вы будете находиться в MapStruct маппере.
Также плагин рекомендует (2) к использованию Database Navigator для работы в .sql -файлах (1).
А если вы работаете с Helm Template’ами (1), то увидите предложение установить Go Plugin (2).
Пишите на info@amplicode.io, если знаете другие отличные плагины, которые можно было бы порекомендовать :)
HTTP Client (Preview)
Одной из самых главных фич текущего релиза Amplicode стал HTTP-клиент встроенный прямо в IDE!
Теперь вы можете сгенерировать HTTP-запрос для любого эндпоинта прямо из класса контроллера.
Что самое прикольное, так это то, что этот HTTP-клиент основан на Kotlin Scripts. Поэтому мы можем пользоваться многими возможностями Kotlin для того, чтобы оперировать данными между запросами.
Например, мы можем получить токен обратившись к одному эндпоинту, запомнить его в локальную переменную и использовать его в другом запросе.
Просто и удобно!
Конечно же, можно также использовать переменные окружения и обратиться к примерам, которые мы подготовили.
Функциональность только появилась, и мы очень надеемся, что она вызовет у вас интерес. Пишите в наш телеграм канал если у вас есть идеи, как можно сделать наш HTTP-клиент ещё круче!
Это ещё не всё!
На самом деле, релиз Amplicode 2024.3 включает в себя гораздо больше, чем только крупные новые функции. Мы добавили множество улучшений и исправлений — в общей сложности закрыто более 140 тикетов!
Стоит напомнить, что текущая версия Amplicode на данный момент доступна для 3-х версий IntelliJ IDEA: 2024.1, 2024.2, 2024.3.
Огромное спасибо всем, кто делится своим опытом использования Amplicode в нашем Telegram-чате. В том числе благодаря вам мы смогли приоритизировать часть фич, которые ждали своего часа в бэклоге, а также исправили некоторые баги :)
Следующий мажорный релиз запланирован на весну. Но до выхода Amplicode 2025.1 мы будем стабилизировать текущую версию и выпускать обновления с исправлениями. Подписывайтесь на наши ресурсы, чтобы быть в курсе: