Какая польза от звезды (*) в файле yaml? - PullRequest
0 голосов
/ 27 мая 2020

Я проходил через привод пружинного ботинка, когда наткнулся на эту цитату:

* имеет особое значение в YAML, поэтому обязательно добавьте кавычки, если хотите включить (или исключить ) все конечные точки.

Я безуспешно пытался просмотреть inte rnet об этом. Какая польза от * в файле yaml?

Ответы [ 2 ]

2 голосов
/ 27 мая 2020

* используется для удаления повторяющихся узлов. Рассмотрим этот пример yaml:

myprop:
  uid: &id XXX
myprop1:
  id: *id

Вышеуказанное расширится до:

myprop:
  uid: XXX
myprop1:
  id: XXX

Теперь попробуйте запустить этот код:

@Value("${myprop.uid}") String uid;
@Value("${myprop1.id}") String id;

@Bean
ApplicationRunner runner() {
    return args -> {
        System.out.println(uid);  // prints "XXX"
        System.out.println(id); // prints "XXX"
        System.out.println(uid.equals(id)); // prints "true"
    };
}

Из spe c:

Повторяющиеся узлы (объекты) сначала идентифицируются якорем (отмеченным амперсандом - « & »), а затем им присваиваются псевдонимы (на которые есть ссылка со звездочкой - «*») после этого.

0 голосов
/ 27 мая 2020

Это зависит от контекста файла YAML. Вы сказали, что проходил через привод пружинного ботинка , поэтому вы можете заглянуть в справочную документацию Spring Boot, раздел 5.2.2. Открытие конечных точек , если быть точным.

* можно использовать для выбора всех конечных точек. Например, чтобы предоставить доступ ко всему через HTTP, кроме конечных точек env и beans, используйте следующие свойства:

management.endpoints.web.exposure.include=*
management.endpoints.web.exposure.exclude=env,beans

Звездочка * означает, что все конечные точки, которые принадлежат в определенную категорию либо включены, либо исключены.

В приведенном ниже предложении просто говорится, что символ звездочки * должен быть заключен в кавычки "*" в случае использования формата YAML в файле свойств classi c.

* имеет особое значение в YAML, поэтому обязательно добавьте кавычки, если вы хотите включить (или исключить) все конечные точки, как показано в следующем примере:

Кстати, это предложение такое же , которое вы указали в своем вопросе.

...