目录
一、SpringBoot配置文件类型
1. application.properties 配置文件
2. application.yml(application.yaml) 配置文件
二、配置文件与配置类的属性映射
1、使用注解 @Value 映射
2、使用注解 @ConfigurationProperties 映射
一、SpringBoot配置文件类型
==================
SpringBoot是基于约定的,所以很多配置都有默认值,但如果想使用自己的配置替换默认配置的话 ,就可以自己编写配置文件进行相应配置,在我的上一篇博文SpringBoot原理分析(https://blog.csdn.net/One_L_Star/article/details/103056583)中,起步依赖spring-boot-starter-parent 中,有配置文件的引入,如下:
true
${basedir}/src/main/resources
**/application*.yml
**/application*.yaml
**/application*.properties
可以看到,${basedir}/src/main/resources 表示资源的加载文件,资源文件包括下面三种格式的,也就是说,咱们在配置SpringBoot资源文件的时候都是以 application*.yml、application*.yaml、application*.properties文件格式,.yml 和 .yaml 文件相同,而且在配置的时候一般都以 application 命名,所以SpringBoot配置文件可以归为以下两种:
-
application.properties
-
application.yml(application.yaml)
1. application.properties 配置文件
咱们可以创建 application.properties 配置文件去覆盖 SpringBoot 的默认配置,可以在resources 文件夹下创建 application.properties 文件,这里就以手动配置 Tomcat 端口去覆盖SpringBoot 默认配置为例,我们知道 Tomcat 默认打开端口是8080,咱们可以通过 application.properties 配置文件去修改这个默认配置:
server.port=8888
添加配置之后,运行项目
properties 文件是以键值对的形式编写,可以看到,通过修改application.properties 配置文件,已经将 Tomcat 端口改为 8888,覆盖了之前的配置,由于 properties 文件在以往用的也比较多,较为常见,这里就不做过多讲述,主要还是对 yml 配置文件进行学习。
2. application.yml(application.yaml) 配置文件
YML文件格式是YAML (YAML Aint Markup Language)编写的文件格式,YAML是一种直观的能够被电脑识别的的数据数据序列化格式,并且容易被人类阅读,容易和脚本语言交互的,可以被支持YAML库的不同的编程语言程序导入,比如: C/C++, Ruby, Python, Java, Perl, C#, PHP等。YML文件是以数据为核心的,比传统的xml方式更加简洁。YML文件的扩展名可以使用.yml或者.yaml。
【1】yml配置文件语法
yml 的配置可以分为下面几种,我们先在 resources 文件夹下面创建 application.yml 配置文件
-
配置普通数据
-
配置对象数据
-
配置Map数据
-
配置数组数据
配置普通数据:
-
语法: key: value
-
eg:
name: onestar
注意:value前面有一个空格
配置对象数据:
-
语法1:
-
key:
key1: value1
key2: value2
-
语法2:
-
key: {key1: value1,key2: value2}
-
eg:
person:
name: oneStar
age: 18
addr: yichun
#或者
person: {name: oneStar,age: 18,addr: yihcun}
注意:key1前面的空格个数不限定,在yml语法中,相同缩进代表同一个级别
配置Map数据:
-
配置Map数据和配置对象数据相同
-
eg:
map:
key1: value1
key2: value2
配置数组数据:
-
语法1
-
key:
-
value1
-
value2
-
语法2
-
key: [value1,value2]
-
eg:
city:
-
beijing
-
tianjin
-
shanghai
-
chongqing
#或者
city: [beijing,tianjin,shanghai,chongqing]
#集合中的元素是对象形式
student:
- name: oneStar
age: 18
score: 100
- name: twoStar
age: 28
score: 88
- name: threeStar
age: 38
score: 90
注意:value1与之间的 - 之间存在一个空格
二、配置文件与配置类的属性映射
===============
配置文件中的配置,不管是 properties 文件还是 yml 文件,有一些配置 SpringBoot 会自动去识别,比如 server.port=8888 配置,但有一些我们自定义的配置,SpringBoot 并不能自动识别,怎样才能让 SpringBoot 认识自己配置的信息呢,这里就有两种方法:
-
使用注解 @Value 映射
-
使用注解 @ConfigurationProperties 映射
1、使用注解 @Value 映射
我们可以通过@Value注解将配置文件中的值映射到一个Spring管理的Bean的字段上,这里以 yml 文件进行说明
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
分享
1、算法大厂——字节跳动面试题
2、2000页互联网Java面试题大全
3、高阶必备,算法学习
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
pg" alt=“img” style=“zoom: 33%;” />
分享
1、算法大厂——字节跳动面试题
[外链图片转存中…(img-XXPSA89S-1713405678957)]
2、2000页互联网Java面试题大全
[外链图片转存中…(img-Vii932wf-1713405678957)]
3、高阶必备,算法学习
[外链图片转存中…(img-kQFH7KEk-1713405678957)]
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!