SpringBoot推崇的是零配置文件,程序不再像之前一样,使用applicationContext.xml里面配置一大堆的bean、aop以及和各种框架的整合了。虽然SpringBoot已经已经做好的了许许多多的默认配置,但是默认的配置肯定是无法满足变化多段、环境各异的各个系统的需要的,因此SpringBoot提供了properties和yml两种配置方式。
1.Properties文件
创建好项目之后,能看到SB默认会在src/main/resources下帮你创建一个application.properties文件
虽然这是一个空文件,不过SB已经帮你默认配置好了很多项,如果你需要指定的你的项目的启动端口,和上下文根,则可以在配置文件中写入以下配置(在第一节中我们演示了SB默认的端口是8080,上下文根是/,下图演示配置文件的填写以及开发工具的自动提示功能)
编写完配置文件之后,在启动的主函数随意添加一些路径,演示配置文件的有效性
package com.kazz;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
@RequestMapping("/hello")
public String hello() {
return "hello word,演示一下配置文件的端口和上下文根";
}
}
启动程序,浏览器访问地址http://127.0.0.1:12345/sb/hello,结果如下
SpringBoot有多到没法记的可配置项,以上只是介绍了最简单的两个配置,所以说有开发工具的自动提示功能也是极好,自动提示的配置名和配置的内容(不过注意要使用Spring Properties Editor打开才会提示),这里再安利一下其他作者写的相关SpringBoot的相关配置和解释,有需要的可以自行查阅,或者到SB官网找找文档查阅
http://www.tuicool.com/articles/veUjQba
2. yml文件
YAML在使用时,比properties多了一些格式上的要求,最基本的格式就是 key: value,注意,这个冒号和value之间要有一个空格!YAML也支持多层次的key,大致格式如下(如果是回车,冒号后面则不需要空格)
key:
key1: value1
key2: value2
因此,我们上面的properties在用yaml文件表示时,则为以下图片所示(图片也顺便展示yml文件的自动提示功能)
启动程序后,其作用和之前的properties是一模一样的,两边做对比能发现,yml不需要写两次"server",阅读起来也比较直观一些,因此个人还是比较喜欢用yml配置SpringBoot