Как настроить множественный префикс ConfigurationProperties с классом данных kotlin - PullRequest
0 голосов
/ 11 апреля 2020

A kotlin класс данных в библиотеке A для неизменяемых свойств конфигурации (все свойства установлены на val, а не var):

data class Cfg(
  val name: String, 
  ...
)

Начиная с весенней загрузки 2.2.0, можно использовать Ниже приведен код для настройки одного, но фиксированного префикса:

@ConstructorBinding
@ConfigurationProperties(prefix = "app.cfg")
data class Cfg(...)

Мое приложение зависит от библиотеки A, но необходимо настроить несколько экземпляров Cfg с разными префиксами, такими как app.cfg1 и app.cfg2. И эти префиксы выбираются приложением. Как?

1 Ответ

0 голосов
/ 11 апреля 2020

Вы можете объявить несколько bean-компонентов одного типа и определить префиксы для него, как вам нужно, используя класс из вашего примера:

@Configuration
class CfgConfiguration {

  @Bean
  @ConfigurationProperties("app.cfg1")
  public Cfg cfg1() {
    return new Cfg();
  }

  @Bean
  @ConfigurationProperties("app.cfg2")
  public Cfg cfg2() {
    return new Cfg();
  }
}

Вы можете добавить столько, сколько вам нужно, и Вам будут доступны обязательные свойства.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...