[Spring Boot] 配置文件
创始人
2024-05-31 03:42:11
0

[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

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
一帆风顺二龙腾飞三阳开泰祝福语... 本篇文章极速百科给大家谈谈一帆风顺二龙腾飞三阳开泰祝福语,以及一帆风顺二龙腾飞三阳开泰祝福语结婚对应...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...