JavaEE【Spring】:SpringBoot 配置文件

本文详细介绍了SpringBoot中两种配置文件.properties和.yml的基本用法、优缺点及其在项目中的具体应用,包括配置读取、对象配置及集合配置等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、配置文件的作用

  • 配置数据库的连接信息(root / password)
  • 项目的启动端口(端口号)
  • 第三⽅系统的调⽤秘钥等信息(身份校验)
  • 配置日志的级别

二、配置文件的格式

Spring Boot 配置⽂件主要分为以下两种格式:

  • .properties
  • .yml

如图所示:
在这里插入图片描述

1、注意

我们上一节提到过:在 Spring Boot 中是约定大于配置。那么在配置文件这块,约定就是文件名一定是 application 才行。

例如:我们将 配置文件改为 -> applications

  1. 配置文件内容就是修改端口号为 9090
server.port=9090
  1. 运行结果为:
    • 配置文件名为 application.properties:
      在这里插入图片描述
    • 配置文件名为 applications.properties:
      在这里插入图片描述

从上面的例子,我们可以看出 Spring Boot 只能识别 applications.properties/.yml 的配置文件

2、说明

举例:
在这里插入图片描述
.properties 配置如下:

server.port=9090

.yml 配置如下:

server:
  port: 9091

运行结果为:
在这里插入图片描述

上述结果说明:

  • .properties 和 .yml 可以共存,但是 .properties 配置⽂件的优先级最⾼;即如果 .properties 和
    .yml 中出现了相同的配置,会以 .properties 为主。
  • Spring Boot 在加载配置过程中,加载完.properties ⽂件之后,也会加载 .yml ⽂件的配置信息。
  • 在实际业务中,我们通常会以一直方式来配置文件,这样可以降低错误率。

三、properties 配置文件说明

1、基本语法

properties 是以键值的形式配置的,key 和 value 之间是以“=”连接的,例如:

# 设置端口号
server.port=9090
# 设置数据库的连接信息
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/spring?characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=123456

# 用户自定义配置项
mykey.key1=wzr
mykey.key2=zyf

2、读取配置文件

@Value 注解使用“${}”的格式读取,代码如下:

@RestController
public class TestController {
   
   

    @Value("${mykey.key1}")
    private String mykey;

    @RequestMapping("/hikey")
    public String HiKey(){
   
   
        return "Hi," + mykey;
    }
}

运行结果为:
在这里插入图片描述

① 注意

这里必须 使用 “${}” 的格式读取,否则就会读取失败,举例:

@RestController
public class TestController {
   
   

    @Value("mykey.key1")
    private String mykey;

    @RequestMapping("/hikey")
    public String HiKey(){
   
   
        return "Hi," + mykey;
    }
}

运行结果为:
在这里插入图片描述
这是因为,在 Spring Boot 中 约定大于配置,我们约定好 @Value 注解使用“${}”的格式读取到key 对应的 value 值,否则只会把它作为一个字符串赋值给 mykey.key1,而不是读取 mykey.key1 对应的 value 值。

3、优缺点

  • 优点:写法简单,不易出错
  • 缺点:写法不够灵活,有很多的冗余的信息,如数据库配置中同样的前缀要写很多次:
    在这里插入图片描述

这个缺点就需要 .yml 配置文件来解决了。

四、yml 配置文件说明

yml 是 YAML(Yet Another Markup Language)的缩写。

yml 的优点:

  • 可读性高,写法简单;
  • 支持更多的数据类型,还可以表示 数组、散列表、标量等数据结构;
  • 支持更多的编程语言,除去 Java,yml 还支持 Golang、Python、PHP、JavaScript等。

1、基本语法

格式:注意冒号后边有空格!!!

# 设置端口号
server:
  port: 9090
# 设置数据库的连接信息
spring:
  datasource:
    url: jdbc:mysql://127.0.0.1:3306/spring?characterEncoding=utf8
    username: root
    password: 123456
    
# 用户自定义配置项
mykey2: wzr....

2、yml 使用进阶

① yml 配置不同数据类型及 null

Ⅰ. yml 配置读取

yml 读取和 properties 相同,代码如下:

@RestController
public class TestController {
   
   

 	@Value("${mykey2}")
    private String mykey2;

    @RequestMapping(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WE-ubytt

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值