前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >springboot 配置文件的使用

springboot 配置文件的使用

作者头像
DataScience
发布2020-01-01 22:42:25
1.3K0
发布2020-01-01 22:42:25
举报
文章被收录于专栏:A2DataA2Data

本文标识 : Jsbt0005

本文编辑 : Jack 风

编程工具 : IDEA

阅读时长 : 6分钟

1、配置文件的使用

修改配置方式 1:src\main\resources\application.properties

代码语言:javascript
复制
#修改端口号
server.port=5658
#端口号后需额外添加字符
server.servlet.context-path=/a2data
  • 访问:http://localhost:5658/a2data/hello
代码语言:javascript
复制
@RestController
public class HelloWorld {
    @GetMapping("/hello")
    public String say() {
        return "HelloWorld!";
    }
}

修改配置方式 2:src\main\resources\application.yml

代码语言:javascript
复制
server:
  port: 5658
  servlet:
    context-path: /a2data

个人比较喜欢 yml

2、切换配置文件

1、多配置文件

src\main\resources\application-dev.yml

代码语言:javascript
复制
server:
  port: 5658

src\main\resources\application-prod.yml

代码语言:javascript
复制
server:
  port: 8080

src\main\resources\application.yml

  • 根据 active:来切换配置文件
代码语言:javascript
复制
spring:
  profiles:
    active: prod

2、单配置文件

  • 在单一文件中,可用连续三个连字号(---)区分多个文件。
  • 根据 active:来切换配置文件
代码语言:javascript
复制
server:
  port: 5658
spring:
  profiles: prod
---
server:
  port: 8080
spring:
  profiles: dev
---
spring:
  profiles:
    active: prod

3、激活指定 profile

1、在配置文件中指定 spring.profiles.active=dev

2、命令行:

java -jar ***.jar --spring.profiles.active=dev

可以直接在测试的时候,配置传入命令行参数

3、虚拟机参数,在 IDEA 或 Eclipse 中的 run configuration 中可以进行配置

-Dspring.profiles.active=dev

4、配置文件加载位置

springboot 启动后扫描以下位置的 application.properties 或者 application.yml 文件,

作为 Spring boot 的默认配置文件

位置

说明

–file:./config/

项目目录下的 config

–file:./

项目目录下

–classpath:/config/

resources 目录下的 config

–classpath:/

resources 目录下

优先级由高到底,高优先级的配置会覆盖低优先级的配置;

SpringBoot 会从这四个位置全部加载主配置文件;互补配置

我们还可以通过 spring.config.location 来改变默认的配置文件位置

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

指定配置文件和默认加载的这些配置文件共同起作用形成互补配置;

java -jar ***.jar --spring.config.location=E:/application.yml

从 spring 的运行日志中可以看到:

代码语言:javascript
复制
Loaded config file 'file:./config/application.yml' (file:./config/application.yml)
Loaded config file 'file:./application.yml' (file:./application.yml)
Loaded config file 'file:/C:/Users/Administrator/Desktop/demo3/target/classes/config/application.yml' (classpath:/config/application.yml)
Loaded config file 'file:/C:/Users/Administrator/Desktop/demo3/target/classes/application.yml' (classpath:/application.yml)

配置文件的加载顺序:

  • ./config/application.yml 项目目录下的 config 目录下的配置文件
  • ./application.yml 项目目录下的配置文件
  • classpath:/config/application.yml 资源路径下的 config 目录下的配置文件
  • classpath:/application.yml 资源路径下的配配置文件

总结:

  1. 先加载的优先级最高,后面的优先级低。
  2. 后面的配置文件中如果有不同的配置项,也会读取进来。
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-11-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DataScience 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、配置文件的使用
  • 2、切换配置文件
    • 1、多配置文件
      • 2、单配置文件
      • 3、激活指定 profile
      • 4、配置文件加载位置
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档