Younghae 2019-11-08 11:53 采纳率: 100%
浏览 1310
已采纳

想问下spring yml文件中账号密码引用外部配置文件中定义的方法

在application.yml中通过$(password)方式引用定义的密码,
$(password)定义是在外部的一个文件中定义的(项目包外的),通过指定全路径指定,比如C:\XXX.yml

应该怎么配置?

图片说明

图片说明

  • 写回答

3条回答

  • 会飞的基德 2019-11-08 22:49
    关注

    针对楼主的问题,给出三种方式,可以自行选择。
    1、启动时给密码,具体方式就是,在java包application.yml里不配置密码,拿到打好的java包,启动时添加上这个参数。

    nohup java -jar XXX.jar --spring.datasource.password=123456 >/dev/null 2>&1 &
    

    其中,XXX是你的java包名,123456是你的密码。(nohup是隐式启动,>/dev/null 是去系统的日志,不会影响你自己的日志,直接用就好)
    若嫌每次启动都要输密码麻烦,可以复制到文本文档,保存为.sh 脚本,每次运行脚本即可。
    2、启动时,加载外部配置文件
    a、创建外部配置文件 取名为 application.yml 里面配置好password;
    b、将这个配置文件放在与jar包同级目录下
    c、正常启动即可
    另外说明一下,各个配置文件是互补配置,所以,不会影响其他配置。
    3、一定要加载某个确定位置(比如c:/config/application.yml)的配置文件
    在代码中添加数据源配置类,在类上使用注解指定@PropertySource("c:/config/application.yml")

    官网具体有17中配置文件加载方式,有兴趣可以自己去看下
    https://docs.spring.io/spring-boot/docs/2.2.1.RELEASE/reference/html/spring-boot-features.html#boot-features-external-config
    2. Externalized Configuration

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题