Конфигурация JDBC для весенней загрузки с внутренним хранилищем

Я использую Spring Boot и Spring Vault Cloud: он работает очень хорошо, когда я загружаю определенный ключ, а не код, как:

@Value("${login}")
String login;

Значение правильно прочитано из секретов, которые я указал в моей секретной конфигурации бэкэнда.

Однако я не могу понять, как обращаться с автоматическими свойствами пружины. Допустим, я хочу создать пружинное соединение с базой данных jdbc:

@Bean
public DataSource dataSource() {
    return DataSourceBuilder
            .create()
            .build();
}

Как вы можете видеть, я не определяю driverClassName, user, password, url. Если я определяю spring.jdbc. * В application.yml, это работает

Но мне нужно прочитать эти свойства из секретного хранилища hashicorp.

=> Как я могу в общем подходе определить различные значения загрузочной пружины в секреты хранилища?

Гийом

1 ответ

ОК, я могу ответить на свой вопрос:

при создании источника данных по умолчанию Spring ищет ключи spring.datasource. * в свойстве propertySource, в файле yml и в хранилище для моего конкретного случая.

Определение секретного ключа, имеющего ключ в формате свойств, например spring.datasource.password, полностью работает при инициализации bean-компонента DS

Надеюсь, это поможет кому-то!

Гийом

Другие вопросы по тегам