带有Vault后端的Spring Boot jdbc配置

时间:2019-02-28 15:16:12

标签: spring-boot spring-cloud-vault-config

我正在使用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。*,它会起作用

但是我需要从hashicorp保险库文件中读取这些属性。

=>如何以一种通用方法将各种spring boot值定义为Vault机密?

纪尧姆

1 个答案:

答案 0 :(得分:0)

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

在创建默认数据源时,spring会在其propertySource,yml文件和Vault中针对我的具体情况寻找spring.datasource。*键。

在初始化DS bean时,完全可以使用spring.datasource.password这样的属性格式定义具有密钥的机密

希望它对某人有帮助!

纪尧姆