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来指定文件目录


相关文章
|
11天前
|
Java 应用服务中间件 数据库连接
SpringBoot入门(2) - SpringBoot HelloWorld
SpringBoot入门(2) - SpringBoot HelloWorld
28 2
SpringBoot入门(2) - SpringBoot HelloWorld
|
22天前
|
Java 数据库连接 测试技术
SpringBoot入门(4) - 添加内存数据库H2
SpringBoot入门(4) - 添加内存数据库H2
41 4
SpringBoot入门(4) - 添加内存数据库H2
|
12天前
|
Java 中间件
SpringBoot入门(6)- 添加Logback日志
SpringBoot入门(6)- 添加Logback日志
48 5
|
11天前
|
前端开发 Java 数据库
SpringBoot入门(3) - 对Hello world进行MVC分层
SpringBoot入门(3) - 对Hello world进行MVC分层
28 4
|
7天前
|
Java 开发者 微服务
手写模拟Spring Boot自动配置功能
【11月更文挑战第19天】随着微服务架构的兴起,Spring Boot作为一种快速开发框架,因其简化了Spring应用的初始搭建和开发过程,受到了广大开发者的青睐。自动配置作为Spring Boot的核心特性之一,大大减少了手动配置的工作量,提高了开发效率。
26 0
|
11天前
|
缓存 IDE Java
SpringBoot入门(7)- 配置热部署devtools工具
SpringBoot入门(7)- 配置热部署devtools工具
24 2
 SpringBoot入门(7)- 配置热部署devtools工具
|
22天前
|
Java 应用服务中间件 数据库连接
SpringBoot入门(2) - SpringBoot HelloWorld
SpringBoot入门(2) - SpringBoot HelloWorld
17 2
SpringBoot入门(2) - SpringBoot HelloWorld
|
25天前
|
Java 数据库连接 测试技术
SpringBoot入门(4) - 添加内存数据库H2
SpringBoot入门(4) - 添加内存数据库H2
29 2
SpringBoot入门(4) - 添加内存数据库H2
|
25天前
|
前端开发 Java 数据库
SpringBoot入门(3) - 对Hello world进行MVC分层
SpringBoot入门(3) - 对Hello world进行MVC分层
35 1
SpringBoot入门(3) - 对Hello world进行MVC分层
|
25天前
|
Java 应用服务中间件 数据库连接
SpringBoot入门(2) - SpringBoot HelloWorld
SpringBoot入门(2) - SpringBoot HelloWorld
19 1
 SpringBoot入门(2) - SpringBoot HelloWorld