标签搜索

目 录CONTENT

文章目录

Springboot获取配置参数的方式

沙漠渔
2022-11-02 21:39:42 / 0 评论 / 0 点赞 / 485 阅读 / 1,344 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2022-11-02,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

一般情况下使用springboot时,都是遵循springboot的配置文件加载顺序配置好配置文件,但是也存在不同环境,我们在执行jar包时随时指定对应的配置文件,当然前者也有一些要说的,比如配置文件的加载顺序,不是这里要说的重点,后面会有机会整理一下。

SpringAppication运行时可以通过以下几种方式获取参数:

命令行参数

启动时命令参数指定如下:

java -jar project.jar --server.port = 9090

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

SpringApplication.setAddCommandLineProperties(false);

外部配置文件

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

当前目录下的/config目录
当前目录
classpath里的/config目录
calsspath根目录

因此,要外置配置文件就很简单了,在jar所在目录新建config文件夹,然后放入配置文件,或者直接放在配置文件在jar目录
具体这一块内容后续再专门整理一下。

自定义配置文件

不想使用application.properties做配置文件,可以通过下面方式指定加载的配置文件

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

或者直接放在配置文件在jar目录

java -jar -Dspring.config.location=C:\Users\test.yml project.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.yml
prod环境 => application-prod.tml

然后在application.properties中指定用哪一个配置文件

spring.profiles.active = dev

也可在启动的时候用命令指定:

java -ar project.jar --spring.profiles.active = prod
0
广告 广告

评论区