配置文件的作用:修改SpringBoot自动配置的默认值;因为大多数的配置SpringBoot在底层都给我们自动配置好,所以我们只需要在配置文件中根据应用的实际需求更改配置即可。
例如:我们在默认的配置文件application.properties进行如下配置:
server.port=8081server.servlet.context-path=/test然后启动我的SpringBoot应用,在控制台中我们就会发现,我们启动的端口和访问路径都发生了改变:
在这里我们需要重点说明的是,除了.properties格式的配置文件以外,SpringBoot还有一种.yml的配置文件格式,强烈推荐后者作为配置文件的格式。
.yml的全称是:YAML,是”YAMLAin’taMarkupLanguage”的递归缩写,意思是:YAML不是一种标记语言。在开发的这种语言时,YAML的意思其实是:”YetAnotherMarkupLanguage”:YAML仍是一种标记语言,但为了强调这种语言以数据做为中心,而不是以标记语言为重点,而用反向缩略语重命名。
一句话:YAML以数据为中心,比json、xml等更适合做配置文件;
举个简单的例子:
YAML配置端口文件:
server:port:8081XML配置端口文件:
使用空格为文件缩进来表示结构,只要是左对齐的一列数据,都是同一个层级的;不过不能使用跳格字符(TAB)。
例如:
server:port:8081path:/hello注解由井字号(#)开始,可以出现在一行中的任何位置,而且范围只有一行(也就是一般所谓的单行注解)
例如:name:“zhangsan\nlisi”输出为:zhangsan换行lisi
区块的字符串用缩进和修饰符(非必要)来和其他数据分隔,有新行保留(preserve)(使用符号|)或新行折叠(flod)(使用符号>)两种方式。
data:>WrappedtextwillbefoldedintoasingleparagraphBlanklinesdenote#空白行代表段落之间的间距paragraphbreaks在单一文件中,可用连续三个连字号(—)区分多个文件。
---#电影清单-Casablanca-NorthbyNorthwest-Notorious重复的内容可使从参考标记星号(*)复制到锚点标记(&)。
#文件中重复的部分用这个方法处理:使用锚点(&)和引用(*)标签将"aa"散列表的内容复制到"bb"散列表aa:&id001city:EastCentervillestate:KSbb:*id001指定格式可以使用两个惊叹号(!!),后面接上值。
a:123#整数b:"123"#字符串c:123.0#浮点数d:!!float123#浮点数,使用!!表示为严格形态e:!!str123#字符串,使用严格形态f:!!strYes#字符串,使用严格形态配置文件注入示例项目结构图:
创建一个宠物类:Dog.java
packagecom.example.springboot02.controller.bean;/***@Author:REN*@Description:*@Date:Createdin0:312018/8/22*/publicclassDog{privateStringname;privateIntegerage;@OverridepublicStringtoString(){return"Dog{"+"name='"+name+'\''+",age="+age+'}';}publicStringgetName(){returnname;}publicvoidsetName(Stringname){this.name=name;}publicIntegergetAge(){returnage;}publicvoidsetAge(Integerage){this.age=age;}}创建主人类:Person.java
server:port:8081person:name:renage:18birth:2018/08/22maps:{k1:v1,k2:v2}list:-hi-hellodog:name:rackage:2创建PersonController类:
这一节,我们简单介绍了有关SpringBoot的配置文件信息。着重介绍了有关YAML文件的有关语法,以及如何通过配置文件将属性注入到javaBean中,这一节主要掌握如何通过YAML文件对SpringBoot项目属性配置即可。