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

相关推荐
BullSmall7 分钟前
linux 系统下模拟网络丢失和ping延迟,可以怎么来模拟
linux·网络·php
brahmsjiang8 分钟前
理解Android AOT编译与内存映射:从Zygote启动到页表权限隔离
android·linux·zygote
亚空间仓鼠8 分钟前
OpenEuler系统常用服务(十)
linux·运维·服务器·网络
艾莉丝努力练剑9 分钟前
【Linux线程】Linux系统多线程(四):线程ID及进程地址空间布局,线程封装
java·linux·运维·服务器·c语言·c++·学习
有味道的男人11 分钟前
电商效率翻倍:用 Open Claw 对接 1688 接口,快速实现图片选品 + 货源监控
java·开发语言·数据库
海兰19 分钟前
【springboot】gradle快速镜像配置
spring boot·笔记·后端
cheems952721 分钟前
[SpringMVC] Spring MVC 留言板开发实战
java·spring·mvc
dddddppppp12321 分钟前
linux head.s 从第一条指令到start_kernel
linux·运维·服务器
BioRunYiXue22 分钟前
AlphaGenome:DeepMind 新作,基因组学迎来 Alpha 时刻
java·linux·运维·网络·数据库·人工智能·eclipse
十五年专注C++开发23 分钟前
windows和linux使用system启动进程是一样的吗?
linux·c++·windows·system