Spring Boot 的配置文件

2025/4/3

向全栈工程师迈进!

在Sping Boot 是给我们提供了两种配置文件的,一种是**.yaml(.yml)后缀** 的文件,一种是**.properties后缀**的文件。

一、application.properties配置文件

在创建好Spring Boot 工程后,其会自动的为我们建立这个配置文件

在我们运行程序的时候,其内部的Tomcat会自动的启动并将端口号设置为8080,若是我们想要修改其端口号,使其不是8080的话,这个时候就得用到我们的配置文件。

在配置文件中修改端口号为9090。

java 复制代码
spring.application.name=demo1

server.port=9090

再次运行时候,显示如下,已经将端口号改成了9090。

也可以修改默认路径,修改如下:

java 复制代码
spring.application.name=demo1

server.port=9090
server.servlet.context-path=/start

再次运行的时候:端口号9090;路径 /start

当通过浏览器访问的时候,就得需要通过端口号9090访问,在默认路径后面再加上要访问的路径。

二、yaml后缀配置文件

对于该配置文件来说,其后缀有两种,一种是.yml,一种是.yaml,但是二者是一样的。对比.properties配置文件来说,yaml配置文件只是书写格式上有区别。但是实际开发中我们更常使用的是.yml配置文件,应为其书写格式更易看懂,结构更加清晰。

同样的来修改器端口号和默认路径

java 复制代码
server:
  port: 9090
  servlet: 
    context-path: /start

在resource文件下,注释了.properties配置文件,新建了一个.yml文件,然后结果如下,同样成功的修改了访问端口号和默认路径。

三、yml配置文件的书写和获取

3.1三方技术配置信息

比如当使用到redis或者mybetis的时候,我们就要为这些三方技术书写配置信息。比如当为redis书写配置信息的时候,我们首先需要在pom.xml文件中引入redis的起步依赖

然后根据redis的文档来编写配置信息

当boot工程启动之后,起步依赖会自动的获取配置文件中的这些信息然后使用。

3.2自定义配置信息

对于自定义配置信息来说。我们要做的事情不仅仅需要书写配置信息,还需要书写代码来获取这些被书写的信息。

比如阿里云的一些信息,如果我们在使用的时候是直接写在JAVA代码中的话,假如哪一天这些信息被更改话,就得重新更改,重新部署这个项目,所以我们需要将如下信息提取出来写在一个相应的配置文件中,然后通过获取配置文件的方式得到这些信息。所以下次修改就只需要修改配置文件就行。

那该怎么获取配置信息?

java 复制代码
@Value("${ali-yun.oss.endpoint}")
public String endpoint;

这样就可以获取到配置文件中的信息。还可以通过在实体类上添加注解来省略,同时属性名对应。

java 复制代码
@ConfigurationProperties(prefix = "ali-yun.oss")
public class demo{
    
    // @Value("${endpoint}")
    public String endpoint;
}

HAPPY HAPPY ------ 2025/4/3

相关推荐
2401_cf2 小时前
为什么hadoop不用Java的序列化?
java·hadoop·eclipse
帮帮志2 小时前
idea整合maven环境配置
java·maven·intellij-idea
LuckyTHP2 小时前
java 使用zxing生成条形码(可自定义文字位置、边框样式)
java·开发语言·python
热河暖男2 小时前
【实战解决方案】Spring Boot+Redisson构建高并发Excel导出服务,彻底解决系统阻塞难题
spring boot·后端·excel
qq_339282233 小时前
centos中libc.so.6No such file的解决方式
linux·运维·centos
leoufung3 小时前
ECPF 简介
linux·网络·kernel
在肯德基吃麻辣烫4 小时前
Netdata在Ubuntu环境下的安装与配置:构建实时系统监控与性能分析平台
linux·运维·ubuntu
无声旅者5 小时前
深度解析 IDEA 集成 Continue 插件:提升开发效率的全流程指南
java·ide·ai·intellij-idea·ai编程·continue·openapi
0吉光片羽05 小时前
【SpringBoot】集成kafka之生产者、消费者、幂等性处理和消息积压
spring boot·kafka·linq
Ryan-Joee5 小时前
Spring Boot三层架构设计模式
java·spring boot