
2.8 配置环境属性
SpringBoot提倡的是一种“零配置”的设计框架,所以提供有许多默认的配置项。例如,SpringBoot项目默认运行的8080端口就是一种默认配置。如果开发者需要修改SpringBoot的这种默认配置,可以在项目所在的CLASSPATH下添加application.properties配置文件。
1.【mldnboot-base项目】建立一个新的源文件目录src/main/resources。
2.【mldnboot-base项目】在src/main/resources源文件目录中建立application.properties配置文件,目录结构如图2-9所示。

图2-9 定义配置文件
注意:配置文件名称要相同。
SpringBoot开发框架对一些结构(子包扫描)和配置文件(application.properties)做出了限定,这样开发者在使用框架开发的时候可以减少配置。如果开发者定义的配置文件名称不是application.properties,那么SpringBoot将无法加载。
在本文件中进行SpringBoot项目默认端口的变更,将其修改为80端口运行。

修改完成后重新启动SpringBoot项目(使用的是Tomcat容器),可以看到提示信息:Tomcat started on port(s): 80 (http),表示当前的项目可以直接运行在80端口上。
3.【mldnboot-base项目】SpringBoot项目默认情况下会将程序发布在根目录下,如果有需要,也可以配置上下文路径(ContextPath)。

本程序追加了一个context-path配置,所以项目的访问路径为http://localhost/mldnjava/echo/www.mldn.cn(追加了/mldnjava的路径前缀),页面运行效果如图2-10所示。

图2-10 增加ContextPath配置
4.【mldnboot-base项目】在SpringBoot中可以使用的配置文件类型有两种:application.properties和application.yml,这两种配置文件都可以实现对SpringBoot环境的修改。下面将application. properties配置替换为application.yml,内容如下:

此时实现了与之前完全相同的配置,读者可以发现使用application.yml配置文件的结构要比使用application.properties更加清晰。
提示:关于yml配置文件说明。
yml实际上是YAML(Yet Another Markup Languange,一种标记语言)文件,这是一种结构化的数据文件,大量应用在各种开源项目之中,如Apache Storm。
Spring官方推荐使用application.yml来进行SpringBoot或SpringCloud框架的配置定义。如果项目中同时存在application.yml与application.properties配置文件并且配置冲突,将以application.properties文件中的配置为参考。在本书后面讲解的过程中,如无意外,将全部使用application.yml进行SpringBoot项目的配置。