2026/10/22 12:44:02
网站建设
项目流程
1.配置⽂件作⽤
计算机上有数以千计的配置⽂件, 我们使⽤的绝⼤多数软件, ⽐如浏览器, 微信, Idea, 甚⾄电脑, ⼿机, 都离不开配置⽂件. 我们可能永远不会直接与其中的⼤部分⽂件打交道,但它们确实以不同的形式散落在我们的计算机上, ⽐如C:\Users, C:\Windows⽂件夹, 以及各种 *.config, *.xml ⽂件配置⽂件主要是为了解决硬编码带来的问题, 把可能会发⽣改变的信息, 放在⼀个集中的地⽅, 当我们启
动某个程序时, 应⽤程序从配置⽂件中读取数据, 并加载运⾏.使⽤配置⽂件, 可以使程序完成⽤⼾和应⽤程序的交互, 或者应⽤程序与其他应⽤程序的交互
硬编码是将数据直接嵌⼊到程序或其他可执⾏对象的源代码中, 也就是我们常说的"代码写死".
2.SpringBoot配置⽂件
SpringBoot⽀持并定义了配置⽂件的格式, 也在另⼀个层⾯达到了规范其他框架集成到SpringBoot的⽬的. 很多项⽬或者框架的配置信息也放在配置⽂件中, ⽐如:
•项⽬的启动端⼝
•数据库的连接信息(包含⽤⼾名和密码的设置)
•第三⽅系统的调⽤密钥等信息
•⽤于发现和定位问题的普通⽇志和异常⽇志等.
3.配置⽂件快速⼊⼿
我们在前⾯讲了Tocmat 默认端⼝号是8080, 所以我们程序访问时的端⼝号也是8080
但是如果8080端⼝号已经被其他进程使⽤了呢? 我们可以通过配置⽂件来修改服务的端⼝号
SpringBoot 在创建项⽬时, 就已经帮我们创建了配置⽂件
![]()
修改application.properties⽂件
![]()
4.配置⽂件的格式
Spring Boot 配置⽂件有以下三种:
•application.properties
•application.yml
•application.yaml
yml 为yaml的简写, 实际开发中出现频率最⾼.
类似商品的包装⼀样, 有新⽼两款包装. properties 类型的配置⽂件就属于⽼款包装,也是创建
Spring Boot 项⽬时默认的⽂件格式(主要是因为仓库⾥还有库存),⽽ yml 属于新版包装,如果⽤
⼾了解情况直接指定要新款包装,那么就直接发给他
特殊说明
1.理论上讲.properties和.yml可以并存在于⼀个项⽬中,当.properties和.yml并存时,两个配置都会加载. 如果配置⽂件内容有冲突, 则以 .properties为主, 也就是.properties 优先级更⾼.
2.虽然理论上来讲.properties可以和.yml共存,但实际的业务当中,我们通常会采取⼀种统⼀的配置⽂件格式,这样可以更好的维护(降低故障率).
5.properties 配置⽂件说明
1.properties 基本语法
properties 是以键值的形式配置的,key 和 value 之间是以"="连接的,如:
![]()
2.读取配置⽂件
如果在项⽬中,想要主动的读取配置⽂件中的内容,可以使⽤@Value注解来实现。
@Value注解使⽤"${}"的格式读取,如下代码所⽰:
3.properties 缺点分析
properties 配置是以 key-value 的形式配置的,properties 配置⽂件中会有很多的冗余的信息
想要解决这个问题,就可以使⽤ yml 配置⽂件的格式化了.
6.yml 配置⽂件说明
1.yml 基本语法
yml 是树形结构的配置⽂件,它的基础语法是"key: value".
key 和 value 之间使⽤英⽂冒号加空格的⽅式组成,空格不可省略
2.yml 配置读取
yml 读取配置的⽅式和 properties 相同,使⽤ @Value 注解即可
注意事项:value 值加单双引号
字符串默认不⽤加上单引号或者双引号,如果加英⽂的单双引号可以表⽰特殊的含义:
•字符串默认不⽤加上单引号或者双引号。
•单引号会转义特殊字符,使其失去特殊功能, 始终是⼀个普通的字符串.
•双引号不会转义字符串⾥⾯的特殊字符, 特殊字符会表⽰本⾝的含义.
3.配置对象
我们还可以在 yml 中配置对象,如下配置:
这个时候就不能⽤ @Value 来读取配置中的对象了,此时要使⽤另⼀个注解@ConfigurationProperties 来读取
4.yml优缺点
优点:
1.可读性⾼,写法简单, 易于理解
2.⽀持更多的数据类型, 可以简单表达对象, 数组, List,Map等数据形态.
3.⽀持更多的编程语⾔, 不⽌是Java中可以使⽤, 在Golang, Python, Ruby, JavaScript中也可以使⽤
缺点:
1.不适合写复杂的配置⽂件
2.对格式有较强的要求(⼀个空格可能会引起⼀场⾎案)