• SpringBoot:SpringBoot项目的配置文件放在Jar包外加载和jar包打成exe


    SpringBoot读取配置文件的优先级为:

    第一、项目jar包同级下的config文件夹是优先级最高的,是在执行命令的目录下建config文件夹。(在jar包的同一目录下建config文件夹,执行命令需要在jar包目录下才行),然后把配置文件放到这个文件夹下。
    第二、项目jar包同级下直接放properties文件是次优先级,是直接把配置文件放到jar包的同级目录。
    第三、项目内部的classpath同级config文件夹是第三优先级,在classpath下建一个config文件夹,然后把配置文件放进去。
    第四、项目内部的classpath同级放properties文件是最低优先级,是在classpath下直接放配置文件。
    springboot默认是优先读取它本身jar包同级目录下的一个config/application.properties 文件的。
    在项目内src/main/resources 文件夹下创建的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中。

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

    spring.profiles.active = dev

    也可以启动时指定

    java -jar myproject.jar --spring.profiles.active = prod
    作者:你的雷哥
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    Java——泛型、异常
    接口
    Classes
    Unit Tests
    Boundaries
    Error Handling
    Objects and Data Structures
    DB other operation
    Comments
    Functions
  • 原文地址:https://www.cnblogs.com/henuliulei/p/14994060.html
Copyright © 2020-2023  润新知