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 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料