Я использую Spring Boot и Spring Vault Cloud: он работает очень хорошо, когда я загружаю определенный ключ не в такой код, как:
@Value("${login}")
String login;
Значение правильно считывается из секретов, которые я указал в своей конфигурации секретного бэкэнда.
Однако я не могу понять, как обращаться с автоматическими свойствами пружины. Допустим, я хочу создать соединение с базой данных spring jdbc:
@Bean
public DataSource dataSource() {
return DataSourceBuilder
.create()
.build();
}
Как видите, я не определяю driverClassName, пользователя, пароль, URL-адрес. Если я определяю spring.jdbc.* в application.yml, он работает
Но мне нужно прочитать эти свойства из секретного хранилища hashicorp.
=> Как я могу в общем подходе определить различные значения весенней загрузки в секреты хранилища?
Гийом




Хорошо, я могу ответить на свой вопрос:
при создании источника данных по умолчанию Spring ищет ключи spring.datasource.* в своем источнике свойств, в файле yml и в хранилище для моего конкретного случая.
Определение секрета с ключом в формате свойств, например spring.datasource.password, полностью работает при инициализации компонента DS.
Надеюсь, это поможет кому-то!
Гийом