SpringBoot的配置文件和静态资源文件
1.SpringBoot配置文件类型和作用
SpringBoot是基于约定的,所以很多配置都有默认值,但如果想使用自己的配置替换默认配置的话,就可以使用application.properties或者application.yml(application.yaml)进行配置。
SpringBoot默认会从Resources目录下加载application.properties或application.yml(application.yaml)文件
其中,application.properties文件是键值对类型的文件,之前一直在使用,所以此处不在对properties文件的格式进行阐述。除了properties文件外,SpringBoot还可以使用yml文件进行配置,下面对yml文件进行讲解。
2.yml配置文件简介
YML文件格式是YAML (YAML Aint Markup Language)编写的文件格式,YAML是一种直观的能够被电脑识别的数据序列化格式,并且容易被人类阅读,容易和脚本语言交互的,可以被支持YAML库的不同的编程语言程序导入,比如: C/C++, Ruby, Python, Java, Perl, C#, PHP等。YML文件是以数据为核心的,比传统的xml方式更加简洁。
3.yml配置文件的语法
3.1配置普通数据
- 语法: key: value
- 示例代码:
-
name: haohao
- 注意:value之前有一个空格
3.2配置对象数据
- 语法:
-
或者:key: key1: value1 key2: value2
-
key: {key1: value1,key2: value2}
- 示例代码:
-
person: name: haohao age: 31 addr: beijing #或者 person: {name: haohao,age: 31,addr: beijing}
- 注意:key1前面的空格个数不限定,在yml语法中,相同缩进代表同一个级别
3.3配置Map数据
同上面的对象写法
3.4配置数组(List、Set)数据
- 语法:
-
或者:key: - value1 - value2
-
key: [value1,value2]
- 示例代码:
-
city: - beijing - tianjin - shanghai - chongqing #或者 city: [beijing,tianjin,shanghai,chongqing] #集合中的元素是对象形式 student: - name: zhangsan age: 18 score: 100 - name: lisi age: 28 score: 88 - name: wangwu age: 38 score: 90
- 注意:value1与之间的 - 之间存在一个空格
4.yml配置文件存在的位置:
file指当前项目下,即与src同级的目录。
- file:./config/
- file:./
- classpath:/config/
- classpath:/
优先级从外层到内层:高—>低
5.静态资源放置的位置:
现在,我们的项目是一个jar工程,那么就没有webapp,我们的静态资源该放哪里呢?
有一个叫做ResourceProperties的类,里面就定义了静态资源的默认查找路径:
默认的静态资源路径为:
- classpath:/META-INF/resources/
- classpath:/resources/
- classpath:/static/
- classpath:/public/
只要静态资源放在这些目录中任何一个,SpringMVC都会帮我们处理。
我们习惯会把静态资源放在classpath:/static/目录下。我们创建目录,并且添加一些静态资源: