0

我正在使用 spring boot 和 spring vault cloud:当我在非代码中加载特定密钥时,它运行良好,例如:

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

该值是从我在我的秘密后端配置下指定的秘密中正确读取的。

但是,我不知道如何处理弹簧自动属性。假设我想创建一个 spring jdbc 数据库连接:

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

如您所见,我没有定义 driverClassName、用户、密码、url .. 如果我在 application.yml 中定义 spring.jdbc.*,它可以工作

但我需要从 hashcorp 保险库秘密中读取这些属性。

=>我如何在一般方法中将各种弹簧引导值定义为保险库机密?

纪尧姆

4

1 回答 1

0

好的,我可以回答我自己的问题:

在创建默认数据源时,spring 会在其 propertySource、yml 文件和我的特定情况下的 Vault 中查找 spring.datasource.* 键。

在初始化 DS bean 时,定义具有属性格式的密钥(如 spring.datasource.password)的密钥完全有效

希望它可以帮助某人!

纪尧姆

于 2019-02-28T16:07:17.777 回答