Spring Boot入门(十) 之 外部配置加载顺序

简介: Spring Boot入门(十) 之 外部配置加载顺序

springboot支持外部的配置文件加载,常见的有如下几种,且优先级由高到低,还是互补配置

1.命令行参数

我们先把我们的项目打包

在pom文件中添加入下

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

然后打包

然后在文件夹中找到我们的jar包

命令行运行如下

可以看到他以8082端口启动,那是因为在打包的时候他只会把main文件夹下的东西进行打包,所以不会找到项目根目录下的8085端口和根目录下的config文件夹下的8083端口,因此他会找到classpath路径下的config里边的配置文件里边的端口号8082


下面我们使用命令行来修改默认配置文件

在运行项目的时候我们写入如下

java -jar HelloWorld-1.0-SNAPSHOT.jar --server.port=8088

在命令行直接指定端口号为8088,可以看到项目就以8088启动起来了,命令行这种方式是优先级最高的


2.外部的配置文件

打好jar包后,我们除了可以用命令行修改配置外,还可以通过外部的配置文件来修改,优先级为:

外部的配置文件优先级高于jar包内部的配置文件

带profile的配置文件优先级高于不带profile的配置文件

我们在外部写上application.properties里边指定端口号为8081,发现可以直接启动,端口号为8081

(期间出现了点小插曲,Ubuntu本地把application.porperties放到和jar同一个目录下居然没反应,这是放到Windows Server上的jar居然可以使用,amazing)

当然如果不把配置文件放到同一个目录,需要用一个注解来指定文件目录@PropertyResource来指定文件目录


相关文章
|
18小时前
|
Java API 网络架构
Spring Cloud Gateway的高级配置与实践
Spring Cloud Gateway的高级配置与实践
|
2天前
|
Java 应用服务中间件 Maven
ContextLoaderListener在Spring应用中的作用与配置方法
ContextLoaderListener在Spring应用中的作用与配置方法
|
2天前
|
存储 Java 开发工具
Spring Boot中的配置中心实现
Spring Boot中的配置中心实现
|
2天前
|
Java 应用服务中间件 测试技术
Spring Boot中最佳实践:数据源配置详解
Spring Boot中最佳实践:数据源配置详解
|
2天前
|
存储 Java 数据库
Spring Boot中如何配置和使用多数据源
Spring Boot中如何配置和使用多数据源
|
2天前
|
监控 安全 Java
Spring Boot中的安全性配置详解
Spring Boot中的安全性配置详解
|
2天前
|
Java UED Spring
Spring Boot中的国际化配置
Spring Boot中的国际化配置
|
2天前
|
监控 Java 开发者
Spring Boot中的热部署配置
Spring Boot中的热部署配置
|
2天前
|
Java API Spring
Spring Boot中配置Swagger用于API文档
Spring Boot中配置Swagger用于API文档
|
2天前
|
缓存 监控 Java
Spring Boot中的缓存配置与优化
Spring Boot中的缓存配置与优化