使用application.yml作为我的配置我的春天启动的项目,并且不想写DB凭据它,因为YML文件是将被推到一个公共代码库的源代码的一部分。所以,我需要把凭证入性质在文件和将应用程序主机服务器上的属性文件的某处。
那么,是不是possbile外部化application.yml内表达成属性文件?
例如冲刺用的application.yml启动应用程序
spring:
datasource:
jdbc-url: ${url}
username: ${user}
password: ${pwd}
那么我们就可以把凭证到app.properties如下,并把这个文件放到主机服务器。
url="jdbc:xxxx"
user="username"
pwd="password"
这是所有开发者,如何保护数据库凭据,以防止任何滥用,但相信我,在保持独立的文件证书的人将没有太大的价值,增加的情况很常见的关注。
如果有人能够访问你再一次application.yml也可以访问你的属性文件驻留在单独的文件夹。
已经了解你的问题,你需要把你的代码在公共仓库,你必须保护什么是你的。我有一些投入。
- 你并不需要单独的属性文件和相应的变量在你application.yml,你可以提供你的价值观,你可以应用过程中总是覆盖它们的应用程序之外启动。
例如
spring:
datasource:
jdbc-url: myFakeURL
username: MyFakeUserName
password: myFakePAssword
一旦你定义它们,你可以重写他们像
java -jar -Dspring.datasource.jdbc-url=myRealURL -Dspring.datasource.jdbc-username=myRealUserName -Dspring.datasource.password=myRealpassword myApplication.jar
请记住:这是一个方法,还有另一种方式太
您可以创建shell脚本/批处理文件(包含这些属性)和启动应用程序之前然后执行
随着春天的启动有你几件事情必须考虑这样做即加密你的属性值。春天有美丽的支持Jasypt的加密性能,相信我,你将不得不几乎没有努力
您还可以探索与库管理的秘密
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句