При работе с микросервисами часто возникает вопрос: как управлять конфигурациями для десятка разных сервисов? Один из популярных паттернов — вынести все проперти в отдельный Git-репозиторий и подключать их через Spring Cloud Config.
Например, в spring-petclinic-microservices-config хранятся настройки сразу для нескольких микросервисов Petclinic: discovery, visits-service, customers-service и других.
Это удобно:
🟣 Один источник правды
🟣 Версионируется вместе с кодом
🟣 Можно переключать окружения через
spring.profiles.activeНо есть один нюанс, который выводит из себя Spring-разработчиков. IDE не понимает, что в этом репозитории лежат настройки для Spring-приложений. И никак не помогает во время редактирования. IDE думает, что это просто набор YAML-ов, как будто они вообще к проекту не относятся.
Мы это пофиксили! В Amplicode есть действие Mark Directory as Spring Application Properties Root
Вы просто указываете каталог с конфигурациями — и начинается магия 😉. Работает автокомплишн, подсветка и автодополнение значений.
P.S. Панель Amplicode Designer также становится активной!
👉 Больше фич для работы со Spring