Spring Boot - внедрить карту из application.yml с переменными ключами - PullRequest
0 голосов
/ 06 сентября 2018

Так что мой application.yml будет примерно таким:

urls:
  login: http://mylogin.url
restInterceptor:
  log:
    fieldsToHide: {'${urls.login}':'password'}

И мне нужно это в своем коде Java:

private Map<String, String> fieldsToHide;

Сначала я попробовал с аннотацией @Value, например:

@Value("${restInterceptor.log.fieldsToHide}")
private Map<String, String> fieldsToHide;

Но это не удалось. Кажется, что вы не можете внедрить карту из yaml с аннотацией @Value, поэтому я попытался решить в этот вопрос .

@Service
@EnableConfigurationProperties
@ConfigurationProperties(prefix = "restInterceptor.log")
public class MyClass {

  private Map<String, String> fieldsToHide;

И тогда карта вводится, но значение ключа '${urls.login}' вместо http://mylogin.url.

Если я настрою карту в своем yaml наоборот {'password':'${urls.login}'}, она будет правильно введена со значением свойства.

Что я делаю не так? Это вообще возможно?

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