oauth客户端在Sping Boot 时从应用程序属性中获取clientId和clientSecret。在示例中,它们总是存储在application.yml资源中。我们将凭据保留在代码库之外,因此这是不可行的。我们也不想让它们进入最终的jar。
这方面的最佳实践是什么?目前,我有一个被黑的主加载一个外部的yml文件:
var app = new SpringApplication(Main.class);
var ymlProperties = new Properties();
Arrays.stream(args).filter(a -> a.endsWith(".yml")).forEach(a -> {
var yml = new Yaml();
try {
Map<String, Object> map = yml.load(new FileInputStream(a));
flattenIntoProperties("", map, ymlProperties);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
});
System.out.println(ymlProperties);
app.setDefaultProperties(ymlProperties);
app.run(args);
字符串
这看起来很奇怪。还有更好的办法吗?
1条答案
按热度按时间oxosxuxt1#
我发现注入--spring.config.location标志使它更简单。这是人们通常做的吗?
字符串