我正在使用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机密?
纪尧姆
答案 0 :(得分:0)
好的,我可以回答我自己的问题:
在创建默认数据源时,spring会在其propertySource,yml文件和Vault中针对我的具体情况寻找spring.datasource。*键。
在初始化DS bean时,完全可以使用spring.datasource.password这样的属性格式定义具有密钥的机密
希望它对某人有帮助!
纪尧姆