一、Spring Boot配置文件简介
 
 
 (1)名字必须为application,否则无法识别。后缀有三种文件类型: properties/yml/yaml,但是yml和yaml使用方法相同 
 
 (2) Spring Boot 项⽬默认的配置文件为 properties ,是最早期的配置文件格式, 
 
 (3) properties比yml文件优先级更高: 当 properties 和 yml 一起存在一个项目中时,如果配置文件中出现了同样的配置,比如 properties 和 yml 中都配置了“server.port”, 那么这个时候会以 properties 中的配置为主,也就是 .properties 配置⽂件的优先级最高,但加载完 .properties 文件之后,也会加载 .yml 文件的配置信息。 
 
 (4) 通常情况一个项目中只会存在一种格式的配置文件。 
 
 
 
二、配置文件properties/yml配置内容
2.1 properties/yml基本语法
 properties 键值对的形式:key=value 
 
 yml :树形结构的配置文件,它的基础语法是"key: value",value前面有一个空格 
 
 
 
2.2 端口号配置
# 配置项⽬端⼝号
server.port=80802.3 数据库配置
#配置数据库连接信息
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/testdb?characterEncoding=utf8&
spring.datasource.username=root
spring.datasource.password=root2.4 读取配置文件value
 @Value 注解来实现 
 
//applacation.yml文件ykey:key1: hello//class文件
//读取yml文件中自定义设置的值
@Value("${ykey.key1}")
private String keyValue;
//就会把yml配置文件中ykey.key1的值读取并赋值给keyValue@Value("{num}")
private String keyValue;
//单纯的赋值操作,将num赋给keyValue
2.5 配置对象
//applacation.yml文件
student:id: 1name: Javaage: 18//class文件
@ConfigurationProperties(prefix = "student")
@Component//student对象存储到spring
public class Student { private int id; private String name; private int age;
}//调用类
@RestController
public class StudentController { @Autowiredprivate Student student; @RequestMapping("/readStudent")public String readStudent(){ return student.toString(); } 
}
2.6 配置集合/map
//yml文件
dbtypes:name:- mysql- sqlserver- db2maptypes:map:k1: kk1k2: kk2k3: kk3//读取集合
@Component 
@ConfigurationProperties("dbtypes") 
@Data
public class ListConfig { private List name; 
}@RestController
public class ReadYml2 { @Autowiredprivate ListConfig listConfig;@RequestMapping("/readList")public String readList(){ return listConfig.toString(); } 
}//map读取方式同上
2.7 yml中单双引号区别
//yml文件
test:str: 'hello \n world'str2: "hello \n world"//获取配置值后输出结果:
str:hello \n world
str2:hello world (1)字符串默认不用加上单引号或者双引号。 
 
 (2)单引号会转义特殊字符,特殊字符最终只是⼀个普通的字符串数据 
 
 (3)双引号不会转义字符串里面的特殊字符;特殊字符会作为本身想表示的意思 
 
 
 注意:使用properties配置文件,中文会出现乱码, yml配置文件可以显示中文 
 
 
 
 
三、yml配置文件优缺点
3.1 yml 优点
 (1)yml 是⼀个可读性⾼,写法简单、易于理解,它的语法和 JSON 语⾔类似。  
 
 (2)yml ⽀持更多的数据类型,它可以简单表达清单(数组)、散列表,标量等数据形态。它使用空百符号缩进和大量依赖外观的特⾊,特别适合⽤来表达或编辑数据结构、各种配置⽂件等。 
 
  (3)yml ⽀持更多的编程语⾔,它不止是 Java 中可以使⽤在 Golang、PHP、Python、Ruby、 JavaScript、Perl 中。 
 
3.2 yml 缺点
 不适合写复杂的配置文件 
 
四、创建不同环境的配置⽂件
 application-dev.yml  
 
 application-prod.yml  
 
 2、在 application.yml 中设置运行环境   
 
 spring.profiles.active=dev 
 
 3、以下是yml文件执行配置  
 
 
 
 
 
 
 从8080端口执行其他配置后变为9090 
 
