spring boot 使用外部配置文件

一、springboot 启动时加载  application.properties的优先级

1.当前目录的./config目录

2.当前目录

3. classpath /config package

4.The classpath root


二、配置实践

       一般情况下把application.properties放在当前路径(jar包所在路径)的config目录下启动时会优先于工程内不的classpath下的application.properties。

  •  使用 --spring.config.location参数定制路径,比如

 
 
  1.  java -jar springboottest-0.0.1-SNAPSHOT.jar --spring.config.location=file:./config8888/

  ,这时springboot会优先加载/config8888/下的application.properties。

  • 配合--spring.profiles.active可以使用不同profile来区分环境。使用profile时配置文件格式如下application-{profile}.properties。

比如我们在./config8888/下新建application-dev.properties和application-prod.properties,server.port参数分别为8888和8889。

 
 
  1. echo "server.port=8888" > ./config8888/application-dev.properties
  2. echo "server.port=8889" > ./config8888/application-prod.properties

分别启动应用

 
 
  1. java -jar springboottest-0.0.1-SNAPSHOT.jar --spring.config.location=file:./config8888/ --pring.profiles.active=dev
  2. java -jar springboottest-0.0.1-SNAPSHOT.jar --spring.config.location=file:./config8888/ --spring.profiles.active=prod

应用端口分别为8888和8889

  • 配合spring.config.name参数可以修改配置文件的前缀。

    比如在./config8888/新建文件myproject-dev.properties和myproject-prod.properties文件,server.port参数分别为9888和9889。

  •     
        
    1. echo "server.port=9888" > ./config8888/myproject-dev.properties
    2. echo "server.port=9889" > ./config8888/myproject-prod.properties
    分别启动应用

  •     
        
    1. java -jar springboottest-0.0.1-SNAPSHOT.jar --spring.config.name=myproject --spring.config.location=file:./config8888/ --spring.profiles.active=dev
    2. java -jar springboottest-0.0.1-SNAPSHOT.jar --spring.config.name=myproject --spring.config.location=file:./config8888/ --spring.profiles.active=prod

    端口好分别为9888和9889


  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值