zoukankan      html  css  js  c++  java
  • SpringBoot的配置之配置文件的加载

    配置文件的加载

    1.配置文件的加载位置

    spring boot启动会扫描一下位置的application.properties/yml 文件作为是spring boot的默认配置文件

    - file:./config/          //工程根目录下的config
    - file:./				  //工程根目录下
    - classpath:/config/       //项目java/resourse下的config
    - classpath:/			   //项目java/resoutse根目录下
    

    以上是按照优先级从高到低的顺序,所有的文件都会被加载,高优先级的配置内容会覆盖低优先级的配置内容

    • 可以通过配置Spring.config.location来改变默认配置(打包好后命令行中使用)

      项目打包好以后,我们可以使用命令行参数的形式,启动项目的时候来指定配置文件的新位置,指定配置文件和默认加载的这些配置文件

      java -jar xxx.jar -spring.config.location=G:/application.properties

      可以在运维的时候提供少量的更改

    2.外部配置加载顺序

    SpringBoot不仅从项目中加载配置,还可以从以下位置加载顺序,按照优先级从高到底,高覆盖低

    1.命令行参数

    比如在已经打包的情况下使用参数修改执行,只会覆盖相同属性,多个配置用空格隔开
    java --(双横杠)jar xxx.jar --server.port=8087 --server.context-path=/abc
    

    2.来自java:comp/env的JNDI属性

    3.Java系统属性(System.getProperties())

    4.操作系统环境变量

    5.RandomValuePropertySource配置的random.*属性值

    由jar包外向jar包内进行寻找,优先加载profile(jar包外的配置文件与jar包在同一目录下)

    6.jar包外部的application-{profile}.properties/yml(带spring.profile)配置文件

    7.jar包内部的application-{profile}.properties/yml(带spring.profile)配置文件

    再加载不带profile

    8.jar包外部的application.properties/yml(不带spring.profile)配置文件

    9.jar包内部的application.properties/yml(不带spring.profile)配置文件

    10.@Configuration注解类上的@PropertySource

    11.通过SpringApplication.setDefaultProperties指定的默认属性

    所有支持的配置加载来源参考官方文档

  • 相关阅读:
    Springboot + Mybatis 多数据源配置
    构建微服务:Spring boot 入门篇
    IDEA SpringBoot代码修改热部署/加载
    vue-cli知识点
    vuex知识点
    正则基本知识
    多行SQL语句拼成一条数据
    软件的版本控制
    ASP.NET 表单验证实现浅析
    建造者模式
  • 原文地址:https://www.cnblogs.com/JIATCODE/p/12993805.html
Copyright © 2011-2022 走看看