[Spring Boot] 配置文件

文章详细介绍了SpringBoot的配置文件,包括.properties和.yml两种格式,强调了.yml的易读性和对复杂数据类型的处理能力。配置文件用于设置数据库连接、日志信息等关键数据。在.yml中,使用双引号会使转义字符生效,可以通过@Value注解读取配置值,同时展示了如何配置对象和集合以及不同环境的配置文件管理。
摘要由CSDN通过智能技术生成

[Spring Boot] 配置文件

配置文件的作用

整个项目中所有重要的数据都是在配置文件中配置的:

  • 数据库的连接信息
  • 项目的访问端口
  • 用于发现和定位问题的 日志信息

配置文件格式

两种格式:.properties 和 .yml

.properties 的优先级高于 .yml;但是一般一个项目中只会用其中一个

配置文件的命名必须是 application.后缀

image-20230109141804051

语法格式

properties

可以看到配置数据库连接信息的时候,spring.datasource 写了三遍,代码有点冗余,这个在 .yml 格式中就解决了

默认的编码不是:UTF-8

image-20230109145708635

自定义配置并读取

直接在配置文件中以 key=value 的方式写就可以了

读取:使用 @Value 注解,然后在注解里面使用 ${key} 来获取值;若没有使用 ${} 的话,就是将字符串赋值给变量(看下图)

image-20230109151305634

image-20230109151748753

yml

对于语法格式非常严苛的 key: value;冒号后面有个空格

多级目录用 换行 + tab 来区分层级的 (类似于 python 的语法)

容易出错,多加注意

优点
  1. yml 可读性更高,易于理解(类似于 python 的语法,使用缩进来区分层级)
  2. yml 支持更多的数据类型,处了可以存储基础数据类型之外,还能存对象
  3. yml支持更多的变成语言,市面上常用的编程语言基本 yml 都能支持(比如:多个小组的程序涉及到一个共同的操作,这时就可以在云端建一个 yml 格式的文件,然后多种语言的程序都可以从云端拉取这一份配置文件,该一份所有代码的就都改了)
系统配置

image-20230109153930979

自定义配置并读取
基础数据类型

image-20230109154304467

特殊点

在 yml 的配置文件中如果使用双引号修饰value值,那么value值中的转义字符就会发挥作用

在 properties 中,下面三种方式,转义字符都会生效

image-20230109155100254

配置对象
  1. 先在 yml 中按照语法,定义对象的属性名和值
  2. 然后定义一个实体类,其属性要与配置文件中的名字一一对应(顺序不做要求),然后提供get / set 方法
  3. 使用两个注解:@Component 与 @ConfigurationProperties(prefix = “key”) – prefix是指定当前对象用配置文件中那个key-value来赋值;@Component 是用来指定赋值操作什么时候进行(有了Component,ConfigurationProperties才会生效)
  4. 最后就是使用了:@Autowired来进行对象的注入,然后使用即可

image-20230110144844173

// Component在这里的作用:
// 1. 让@ConfigurationProperties注解生效;
// 2.在从配置文件中将值注入后,将Student对象存入Spring中
@Component
@ConfigurationProperties(prefix = "student")   // 指定将配置文件中key为student的值赋值给当前对象(通过set方法进行赋值的)
public class Student {
    private Integer id;
    private String name;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

image-20230110143218895

配置集合

类似于 上述的配置对象

image-20230110145045654

image-20230110145133904

附录

更多配置项

https://docs.spring.io/spring-boot/docs/current/reference/html/application-properties.html

设置不同环境的配置文件

  1. 创建不同环境的配置文件
    • application-dev.yml
    • application-prod.yml
  2. 在 application.yml中设置允许环境

rties.html

设置不同环境的配置文件

  1. 创建不同环境的配置文件
    • application-dev.yml
    • application-prod.yml
  2. 在 application.yml中设置允许环境

image-20230110151427061

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值