Использование @PropertySource с Spring Cloud Config - Git - PullRequest
1 голос
/ 21 мая 2019

Я использую @PropertySource для настройки класса конфигурации:

@Configuration
@PropertySource("classpath:/mongo-${env}.properties")
public class MongoConfiguration {

mongo - $ {env} .properties файлы расположены в пути к классам.Это работает нормально.

Сейчас я переношу конфигурацию в Git с помощью Spring Cloud Config: все файлы application.yml были перенесены.Однако я не знаю, возможно ли это и как вывести файлы свойств, подобные объявленным в @ PropertySource.

Что я сделал: я попытался переименовать mongo-prod.properties в application-prod.properties вGit.Затем я изменил @PropertySource на:

@PropertySource("file:///C://.../config-repo/application-prod.properties")

, который является локальной копией репозитория.Это работает, но это просто жестко закодированное решение.

Есть ли более чистое решение?

1 Ответ

0 голосов
/ 21 мая 2019

Вы можете загрузить свойства, используя аннотацию @ConfigurationProperties Если вы правильно настроили сервер конфигурации.

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

Шаг 1: добавьте свойства клиента в ваше git-репо. Вы также можете добавить специфичные для окружающей среды свойства, такие как

customer-qa.properties ,customer-dev.properties

Теперь для загрузки этих свойств

@Component
@ConfigurationProperties("customer-service")
@Data
public class CustomerServiceConfigurations {

    private String somePropertyname;

} 

Для более подробной информации, пожалуйста, проверьте ниже пример Config Server

...