Что нового в Amplicode 2024.3

d974c00ac43f3ab52f8650d83518a09d.png

С радостью сообщаем, что успешно состоялся третий мажорный релиз Amplicode в 2024 году. Этот релиз включает множество улучшений, исправлений и новых фич. Вот основные из них:  

Поддержка 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 в тройку самых используемых технологий для работы с БД. 

e35847f97f6abffe1580739357bf8b29.png

Начиная с этой версии, Amplicode научился понимать Spring Data JDBC.  
 
Уже сейчас вы можете — создавать Java классы с аннотацией @Table:  

Создание @Table Java-класса 

Создание @Table Java-класса 

 А также наполнять наполнять их атрибутами через удобные диалоговые окна:.  

6091ccdc774ace21815fbfc268244736.png

Мы не забыли и про поддержку Spring Data JDBC репозиториев: с помощью Amplicode вы можете создавать Spring Data JDBC репозитории. Воспользоваться данным действием можно, например, нажав на Gutter (1), выбрав действие создания репозитория в открывшемся popup-меню (2). Далее будет доступно окно по созданию требуемого репозитория с возможностью его настройки (3):  

634efe6cbf78c8260a89ad1e02be00cf.png

А также методы для них. Для этого нужно выбрать соответствующее действие на панели Amplicode Designer:  

35838943a8c0ab1ff4a9986580fc4287.png

 После чего откроется окно с настройкой метода:  

54d5245f40757ba5ed4abe8aa26e4904.png

Разработчики обычно выбирают один из двух подходов к проектированию: DB-first, когда база данных создаётся первой, а затем на её основе генерируются доменные классы, или Model-first, когда сначала проектируются модельные классы, а затем по ним создаётся база данных. Amplicode поддерживает оба подхода и предлагает удобный инструмент для reverse engineering: вы можете генерировать скрипты миграции для Liquibase и Flyway, независимо от того, какой метод вы используете. 

 Стоит отметить, что на данный момент Amplicode не поддерживает генерацию Init и Diff скриптов в Spring Data JDBC-проектах, в отличии от Spring Data JPA. Однако плагин поддерживает поочередное создание скриптов миграции через удобные диалоговые окна. В следующих релизах команда Amplicode планирует поддержать и ассоциативные атрибуты в файлах скриптов миграции, как это реализовано на JPA-проектах. 

d3ea3917cb2634ccc58ae84a49b8af85.png

Доступен просмотр всех Java классов с аннотацией @Table и связанных с ними объектами в приложении в панели Amplicode Explorer. 

4862cdf47cc24ee91dca83046b0951fc.png

Отдельно хотел бы поблагодарить всех тех, кто принял участие в нашем исследовании на тему использования 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 

6c56f867ce5992357fcf0967e6c4b2cd.png

А если вы будете работать с OpenAPI спецификацией, то Amplicode предложит два плагина на ваш выбор: OpenAPI (Swagger) Editor и Zalando OpenAPI Editor.   

2bc599d7375f3f07f898b8806a52d361.png

Amplicode также предложит установить MapStruct плагин, если вдруг он у вас не будет установлен, и вы будете находиться в MapStruct маппере.  

4fb0588dcc6775d34f4f1ed5590f4732.png

Также плагин рекомендует (2) к использованию Database Navigator для работы в .sql -файлах (1). 

556b7a35027cd872f0c439e75ca75c32.png

А если вы работаете с Helm Template«ами (1), то увидите предложение установить Go Plugin (2).

78e7e31985b1b25b9f9f9311bb5e720c.png

Пишите в комментариях, если знаете другие отличные плагины, которые можно было бы порекомендовать :)

HTTP Client

Одной из самых главных фич текущего релиза Amplicode стал HTTP-клиент встроенный прямо в IDE!  

Теперь вы можете сгенерировать HTTP-запрос для любого эндпоинта прямо из класса контроллера.

4bcbe7cb5891976cee1720a85d50f8e2.png

Что самое прикольное, так это то, что этот HTTP-клиент основан на Kotlin Scripts. Поэтому мы можем пользоваться многими возможностями Kotlin для того, чтобы оперировать данными между запросами.   

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

69282b585b8407cf3a764e073edae593.png

Просто и удобно!   

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

47a4f4ccaaab2b3e86b0ad60e977fe47.pngb3ce60bad566e889984a303e196a04fd.png

Функциональность только появилась, и мы очень надеемся, что она вызовет у вас интерес. Пишите в наш телеграм канал если у вас есть идеи, как можно сделать наш HTTP-клиент ещё круче!

Это ещё не всё!

На самом деле, релиз Amplicode 2024.3 включает в себя гораздо больше, чем только крупные новые функции. Мы добавили множество улучшений и исправлений — в общей сложности закрыто более 140 тикетов!  

Стоит напомнить, что текущая версия Amplicode на данный момент доступна для 3-х версий IntelliJ IDEA: 2024.1, 2024.2, 2024.3.  

Огромное спасибо всем, кто делится своим опытом использования Amplicode в нашем телеграм-чате. В том числе благодаря вам мы смогли приоритизировать часть фич, которые ждали своего часа в бэклоге, а также исправили некоторые баги :)   

862533c7c7c27ab90ec976521545bf9f.png

 Следующий мажорный релиз запланирован на весну. Но до выхода Amplicode 2025.1 мы будем стабилизировать текущую версию и выпускать обновления с исправлениями. Подписывайтесь на наши ресурсы, чтобы быть в курсе:   

© Habrahabr.ru