SpringBoot配置文件放在jar外部

本人花费半年的时间总结的《Java面试指南》已拿腾讯等大厂offer,已开源在github ,欢迎star!

本文GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了6个月总结的一线大厂Java面试总结,本人已拿大厂offer,欢迎star

原文链接:blog.ouyangsihai.cn >> SpringBoot配置文件放在jar外部

点击上方“后端技术精选”,选择“置顶公众号”

技术文章第一时间送达!

作者:JadePeng cnblogs.com/xiaoqi/p/6955288.html

Spring Boot程序默认从application.properties或者application.yaml读取配置,如何将配置信息外置,方便配置呢?

查询官网,可以得到下面的几种方案:

通过命令行指定

SpringApplication会默认将命令行选项参数转换为配置信息

例如,启动时命令参数指定:


java -jar myproject.jar --server.port = 9000

从命令行指定配置项的优先级最高,不过你可以通过setAddCommandLineProperties来禁用


SpringApplication.setAddCommandLineProperties(false).

外置配置文件

Spring程序会按优先级从下面这些路径来加载application.properties配置文件

  • 当前目录下的/config目录
  • 当前目录
  • classpath里的/config目录
  • classpath 跟目录
  • 当前目录

    classpath 跟目录

    因此,要外置配置文件就很简单了,在jar所在目录新建config文件夹,然后放入配置文件,或者直接放在配置文件在jar目录

    自定义配置文件

    如果你不想使用application.properties作为配置文件,怎么办?完全没问题

    
    java -jar myproject.jar --spring.config.location=
    classpath:/default.properties,classpath:/override.properties
    

    或者

    
    java -jar -Dspring.config.location=
    D:configconfig.properties springbootrestdemo-0.0.1-SNAPSHOT.jar 
    

    当然,还能在代码里指定

    
    @SpringBootApplication
    @PropertySource(value={"file:config.properties"})
    public class SpringbootrestdemoApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(SpringbootrestdemoApplication.class, args);
        }
    }
    

    按Profile不同环境读取不同配置

    不同环境的配置设置一个配置文件,例如:

  • dev环境下的配置配置在application-dev.properties中;
  • prod环境下的配置配置在application-prod.properties中。
  • prod环境下的配置配置在application-prod.properties中。

    在application.properties中指定使用哪一个文件

    
    spring.profiles.active = dev
    

    当然,你也可以在运行的时候手动指定:

    
    java -jar myproject.jar --spring.profiles.active = prod
    

    (点击可跳转)

    1. 

    ****2. ****

    3. 

    ****4. ****

    看到这里了,就关注一个呗

    SpringBoot配置文件放在jar外部

    原文始发于微信公众号(后端技术精选):

    本人花费半年的时间总结的《Java面试指南》已拿腾讯等大厂offer,已开源在github ,欢迎star!

    本文GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了6个月总结的一线大厂Java面试总结,本人已拿大厂offer,欢迎star

    原文链接:blog.ouyangsihai.cn >> SpringBoot配置文件放在jar外部


     上一篇
    SpringBoot 并发登录人数控制 SpringBoot 并发登录人数控制
    点击上方“Java知音”,选择“置顶公众号” 技术文章第一时间送达! 作者:殷天文 www.jianshu.com/p/b6f5ec98d790 技术经验交流:  ,本篇示例代码放文末。通常系统都会限制同一个账号的登录人数,
    下一篇 
    Springboot整合log4j2日志全解 Springboot整合log4j2日志全解
    点击上方“后端技术精选”,选择“置顶公众号” 技术文章第一时间送达! 作者:上帝爱吃苹果 cnblogs.com/keeya/p/10101547.html 在项目推进中,如果说第一件事是搭Spring框架的话,那么第二件事