SpringBoot-从入门到放弃(三) 配置文件简介

        SpringBoot推崇的是零配置文件,程序不再像之前一样,使用applicationContext.xml里面配置一大堆的bean、aop以及和各种框架的整合了。虽然SpringBoot已经已经做好的了许许多多的默认配置,但是默认的配置肯定是无法满足变化多段、环境各异的各个系统的需要的,因此SpringBoot提供了properties和yml两种配置方式。


1.Properties文件

        创建好项目之后,能看到SB默认会在src/main/resources下帮你创建一个application.properties文件

SpringBoot-从入门到放弃(三) 配置文件简介_第1张图片


        虽然这是一个空文件,不过SB已经帮你默认配置好了很多项,如果你需要指定的你的项目的启动端口,和上下文根,则可以在配置文件中写入以下配置(在第一节中我们演示了SB默认的端口是8080,上下文根是/,下图演示配置文件的填写以及开发工具的自动提示功能)

SpringBoot-从入门到放弃(三) 配置文件简介_第2张图片


        编写完配置文件之后,在启动的主函数随意添加一些路径,演示配置文件的有效性

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-从入门到放弃(三) 配置文件简介_第3张图片

    

        SpringBoot有多到没法记的可配置项,以上只是介绍了最简单的两个配置,所以说有开发工具的自动提示功能也是极好,自动提示的配置名和配置的内容(不过注意要使用Spring Properties Editor打开才会提示),这里再安利一下其他作者写的相关SpringBoot的相关配置和解释,有需要的可以自行查阅,或者到SB官网找找文档查阅

http://www.tuicool.com/articles/veUjQba


2. yml文件

        YAML,全称Yet Another Markup Language,是“另一种标记语言”的外语缩写;但为了强调这种语言以数据做为中心,而不是以置标语言为重点,而用返璞词重新命名。它是一种直观的能够被电脑识别的数据序列化格式,是一个可读性高并且容易被人类阅读,容易和脚本语言交互,用来表达资料序列的编程语言。它是类似于标准通用标记语言的子集XML的数据描述语言,语法比XML简单很多。——抄袭自百度百科

        个人觉得,yaml文件在SB配置文件中就是xml+json+Properties,它汲取了三者的最简单易用的地方结合到了一起,可读性比这3者更强,而且所需的字符更少。 除了用作配置文件外,YAML也可以像XML和JSON用来序列化对象,不过这其中的优缺点和性能就不做赘述了。

        

        YAML在使用时,比properties多了一些格式上的要求,最基本的格式就是 key: value,注意,这个冒号和value之间要有一个空格!YAML也支持多层次的key,大致格式如下(如果是回车,冒号后面则不需要空格)

key: 

 key1: value1

 key2: value2

        因此,我们上面的properties在用yaml文件表示时,则为以下图片所示(图片也顺便展示yml文件的自动提示功能)

SpringBoot-从入门到放弃(三) 配置文件简介_第4张图片


        启动程序后,其作用和之前的properties是一模一样的,两边做对比能发现,yml不需要写两次"server",阅读起来也比较直观一些,因此个人还是比较喜欢用yml配置SpringBoot






你可能感兴趣的:(SpringBoot)