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

相关推荐
野生技术架构师4 分钟前
1200 道 JAVA 面试题(各大企业常见面试题及答案)
java·开发语言
careathers7 分钟前
【数据结构】栈
java·数据结构
邪修king23 分钟前
Re:Linux系统篇(二十六):文件系统(二):Ext 文件系统底层详解:从 inode、块组到软硬链接,结合 Windows 讲透文件管理本质
android·java·linux
RuoyiOffice31 分钟前
SpringBoot3+Vue3 库存盘点:账面和实盘对不上,差异单怎么走审批再调账
spring boot·vue3·erp·spring boot 3·库存盘点·盘盈盘亏
Yyyyyy~31 分钟前
【java】类和对象
java·开发语言
高亦真37 分钟前
今天是学习嵌入式的第38天
linux·学习·算法
DYWorker00140 分钟前
Linux驱动子系统:中断子系统 —— Consumer和Provider(005)
linux·驱动开发
草莓熊Lotso44 分钟前
【Redis 进阶】主从复制深度解析:从配置落地到 PSYNC 同步原理
linux·开发语言·网络·数据库·redis·缓存·php
重生之小比特1 小时前
【Java SE】抽象类和接口
java·开发语言
Lyyaoo.1 小时前
【设计模型】策略模式
java