• springboot:配置文件的加载(配置文件的加载位置、命令行方式加载配置)


    1、配置文件的加载位置

    • springboot会自动扫描application.properties或application.yml文件作为springboot的默认配置在文件
    • file:./config/(项目下的config,和src同级)    file:./       classpath:/config/         classpath:/        是优先级由高到低的顺序,所有未知的文件都会被加载,高优先级的配置内容会覆盖低优先级的内容

    (1)同时新建两个配置文件,一个在config目录下,另一个在classpath:路径下

    默认访问的是config目录下的配置文件:

     在与项目的src目录同一级新建一个config目录,在该目录下书写配置:再次访问上面的路径,已经失效,需要访问新的配置中的端口号

     也就是说高优先级的配置覆盖了低优先级的配置

    (2)互补配置:高优先级有的话使用高优先级的配置,没有的话就用低优先级的配置

     访问controller的时候,用到的是高优先级的端口号和低优先级的访问路径

    (3)项目打包好以后,我们可以使用命令行参数的形式,启动项目的时候来指定配置文件的新位置,指定的配置文件和默认加载的配置文件会一起起作用形成互补配置

    打包:

     运行:使用的路径是在本地磁盘上的配置文件的路径

    java -jar demo-0.0.1-SNAPSHOT.jar --spring.config.additional-location=D:/Desktop/application.properties

    2、外部配置的加载顺序

    高优先级的配置会覆盖低优先级的配置形成互补配置,下面的命令行方式的参数配置的优先级最高

    (1)运行jar包

    java -jar demo-0.0.1-SNAPSHOT.jar

    默认运行的是项目参与打包的最高优先级的配置文件:

     测试:

     

     (2)命令行方式修改配置

    在运行jar包的时候,在命令行后添加参数:

    java -jar demo-0.0.1-SNAPSHOT.jar --server.port=8888

    测试:

    (3)命令行方式修改多个配置

     测试:

     多个参数用空格分隔

    (4)读取配置文件上的参数

    需要在与jar包同一级的目录下新建一个配置文件:

     在配置文件中书写相关参数:此种方式适合要添加的参数较多的情况

     测试:

  • 相关阅读:
    Comparable VS Comparator
    Javascript中this关键字详解
    Runtime、System、Object
    JS IDE
    异常处理
    Throwable vs Exception
    8.4 Java 命名规范
    关键字、标识符、注释、变量
    Docker —— 从入门到实践
    RTC教程
  • 原文地址:https://www.cnblogs.com/zhai1997/p/13344079.html
Copyright © 2020-2023  润新知