移动端网站建设重点有哪些,新手怎么做美工图,中秋节网页设计代码,做网站需要虚拟主机还是服务器上篇文章介绍了SpringBoot的创建和使用#xff0c;这篇文章我们将会介绍SpringBoot配置文件 目录1.配置文件的作用2.配置文件的格式2.1 .properties语法2.1.1.properties的缺点2.2 .yml语法2.2.1优点分析2.2.2配置与读取对象2.2.3配置与读取集合2.2.4补充说明3.设置不同环境的… 上篇文章介绍了SpringBoot的创建和使用这篇文章我们将会介绍SpringBoot配置文件 目录1.配置文件的作用2.配置文件的格式2.1 .properties语法2.1.1.properties的缺点2.2 .yml语法2.2.1优点分析2.2.2配置与读取对象2.2.3配置与读取集合2.2.4补充说明3.设置不同环境的配置文件结束语1.配置文件的作用 
上一篇我们介绍到SpringBoot有个很厉害的功能叫自动装配其中要利用的就是我们的配置文件。那么具体配置文件有什么用呢 整个项⽬中所有重要的数据都是在配置⽂件中配置的⽐如 数据库的连接信息包含⽤户名和密码的设置项⽬的启动端⼝ 第三⽅系统的调⽤秘钥等信息⽤于发现和定位问题的普通⽇志和异常⽇志等。 如果没有配置信息那么 Spring Boot项⽬就不能轻易的更改连接和操作数据库甚⾄是不能保存可以⽤于排查问题的关键⽇志所以配置⽂件的作⽤是⾮常重要的。 2.配置文件的格式 
对于SpringBoot的配置文件主要有以下两种格式 .properties 旧 .yml 新 对于这两种配置文件格式来讲创建SpringBoot项目默认的是老款.properties  当然我们叶可以主动换成新款.yml注意文件的名称必须是application哦这属于一种约定后面有特殊情况会介绍。  写到这里大家可能会有疑问了这两种配置文件可以共存吗如果可以的话会以哪个配置文件的内容为先呢 对于这个问题首先两者是可以共存的且SpringBoot扫描配置文件时都会扫描但当出现两个配置文件设置了相同的配置项但值不同时会采纳.properties格式毕竟以老员工为主。 设置启动端口 .yml 9999  .properties 8888  运行得到结果8888  当然啦实际开发肯定是统一格式才好看 
2.1 .properties语法 
.properties采用keyvalue的格式  注# 代表注释 配置完成后如何读取配置信息呢 通过注解Value(“${key}”) 来获取信息 
Controller
public class MyTest {Value(${mytest})public String mytest;PostConstructpublic void test1(){System.out.println(mytest:mytest);}
}Controller在 Spring Boot 启动时候会注⼊到框架中注⼊到框架中时会执⾏ PostConstruct初始化⽅法这个时候就能读取到配置信息了 2.1.1.properties的缺点 
观察我们配置的数据库连接可以发现代码很冗余spring.datasource多次出现这是不好的因为当配置项十分多时代码就会很难看同时.properties还不能处理中文字符容易乱码就像我们把zhangsan改为张三再一次运行  要解决这些问题需要使用到新款.yml 
2.2 .yml语法 
yml 是树形结构的配置⽂件它的基础语法是“key: value”注意 key 和 value 之间使⽤英⽂冒汗加空格的⽅式组成的其中的空格不可省略。 基础语法如下: 
server:port: 9999# 设置数据库配置项
spring:datasource:url: jdbc:mysql://127.0.0.1:3306/testdb?characterEncodingutf8username: rootpassword: root这里面的空格都很有讲究不要轻易的删增。  比如这一块就是根据空格来确定这是几级结构的。 .yml的读取和.properties相同都是通过Value注解  通过.yml,我们的代码不再那么冗余但这是不够的因为yml远远不止如此 2.2.1优点分析 
1.首先写法更简单代码冗余度也低 2.支持更多数据类型包括整数字符串,对象数组等等 3.支持更多语言不只是Java 
2.2.2配置与读取对象 
配置对象 方案1 
# 自定义配置项
student:name: 张三age: 15方案二 
student: {name: 张三,age: 15}//注意后面有一个空格 
读取对象 实体类 
Component
ConfigurationProperties(prefix  student)//1.使用该注解
Data//类中属性要和配置对象名对应相同且提供getter和setter方法
public class Student {public String name;public int age;Overridepublic String toString() {return Student{ name  name  \ , age  age };}
}调用类 
Component
public class MyStu {Autowiredpublic Student stu;PostConstructpublic void test(){System.out.println(stu);}}结果  
2.2.3配置与读取集合 
配置集合 
tag:name:- 张三- 李四- 王五#tag: {name: [张三,李四,王五]}两种方案均可 读取集合 和读取对象一样先创建实体类加上注解然后调用即可一模一样。 
2.2.4补充说明 
在yml语法中keyvalue的value的值有没有单双引号是值得讨论的问题我们看下面这个例子 添加字符串配置项  读取这这个字符串并打印  可以发现加了双引号的中转义字符\n(换行)正常生效了无引号和单引号的\n被当作了普通字符串打印了出来所以这里大家使用时要注意哦 3.设置不同环境的配置文件 
一般来说实际开发下可能会有很多种配置文件比如开发版正式版等等我们想切换肯定不是现写而是已经写好了直接更换就行这里就要用到配置文件中一个配置项 spring.profiles.active 
通过设置它的值来切换配置文件。 前面我们说配置文件的名称application是不能乱改的但是这里属于特殊情况我们可以在其后添加 application-名称 配置项设置 active的值就是-后面的名称  
比如说-dev里面启动端口为9999-new为8888最后运行结果  想变8888只要active换成new即可 
结束语 
那么本节课就到此结束啦下一节课我们将会进入SpringBoot日志文件的学习喜欢的话请多多关注我哦