小知识-springboot外部配置

第一种:启动命令指定

我们可以通过如下 2 个参数,指定外部配置文件的路径:

  • spring.config.location 
  • spring.config.additional-location 

spring.config.location

我们可以先将 Spring Boot 项目打包成 JAR 文件,然后在命令行启动命令中,使用命令行参数 --spring.config.location,指定外部配置文件的路径。

java -jar {JAR}  --spring.config.location={外部配置文件全路径}

需要注意的是,使用该参数指定配置文件后,会使项目默认配置文件(application.properties 或 application.yml )失效,Spring Boot 将只加载指定的外部配置文件。

spring.config.additional-location

我们还可以在 Spring Boot 启动时,使用命令行参数 --spring.config.additional-location 来加载外部配置文件。

java -jar {JAR}  --spring.config.additional-location={外部配置文件全路径}

 但与 --spring.config.location 不同,--spring.config.additional-location 不会使项目默认的配置文件失效,使用该命令行参数添加的外部配置文件会与项目默认的配置文件共同生效,形成互补配置,且其优先级是最高的,比所有默认配置文件的优先级都高。

注意:Maven 对项目进行打包时,位于项目根目录下的配置文件是无法被打包进项目的 JAR 包的,因此位于根目录下的默认配置文件无法在 JAR 中生效,即该项目将只加载指定的外部配置文件和项目类路径(classpath)下的默认配置文件,它们的加载优先级顺序为:

  1. spring.config.additional-location 指定的外部配置文件 my-application.yml
  2. classpath:/config/application.yml
  3. classpath:/application.yml

第二种:默认加载

 spring boot支持外部application.yml 读取优先级为:

  1. file:./config/(当前目录下的config文件夹)
  2. file:./(当前目录)
  3. classpath:/config/(classpath下的config目录)
  4. classpath:/(classpath根目录)

第一种是在jar包的同一目录下建一个config文件夹,然后把配置文件放到这个文件夹下;
第二种是直接把配置文件放到jar包的同级目录;
第三种在classpath下建一个config文件夹,然后把配置文件放进去;
第四种是在classpath下直接放配置文件。

注: 一二两种方案其实不是jar包的同级目录,而是(执行启动指令的)同级目录。为了便于理解我把上面的当前目录说成jar包的同级目录,这种说法并不对。如果是刚开始接触或者调试这块,还是在jar包同级目录方便。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot是一个开源的Java框架,用于快速构建独立的、可部署的、生产级的Spring应用程序。它采用了约定优于配置的原则,使开发者能够更轻松地创建和配置Spring应用程序。以下是Spring Boot知识图谱: - 核心特性:Spring Boot提供了一系列核心特性,包括自动配置、起步依赖、嵌入式容器等,以简化Spring应用程序的开发和部署。 - 自动配置Spring Boot根据应用程序的依赖和配置自动进行配置,减少了手动配置的工作量。它通过条件化配置和默认值来实现自动配置。 - 起步依赖:起步依赖是一组预定义的依赖关系,可以方便地将所需的依赖项添加到项目中。它简化了构建和管理依赖关系的过程。 - 嵌入式容器:Spring Boot支持使用嵌入式容器来运行应用程序,如Tomcat、Jetty和Undertow。这样可以将应用程序打包为可执行的JAR文件,并直接运行,无需外部容器。 - Actuator:Spring Boot Actuator提供了对应用程序运行时的监控和管理功能,如健康检查、度量指标、追踪等。它可以帮助开发者更好地了解和管理应用程序的运行状态。 - 数据访问:Spring Boot提供了对多种数据访问技术的集成支持,包括JPA、JdbcTemplate、MyBatis等。它简化了数据访问层的开发和配置。 - 安全性:Spring Boot提供了一系列安全性特性,包括身份验证、授权、加密等。它可以帮助开发者保护应用程序的数据和资源安全。 - 配置管理:Spring Boot支持将应用程序的配置集中管理,可以使用属性文件、YAML文件、环境变量等方式进行配置。 - 日志记录:Spring Boot使用Commons Logging作为默认的日志记录框架,同时也支持使用其他日志框架,如Log4j、Logback等。 总的来说,Spring Boot是一个强大和灵活的框架,可以帮助开发者更快速地构建和部署Spring应用程序。它的知识图谱包括核心特性、自动配置、起步依赖、嵌入式容器、Actuator、数据访问、安全性、配置管理和日志记录等方面。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值