文章目录
目录
前言
大家好,今天给大家介绍一下Spring配置文件
1. 配置文件作用
计算机上有数以千计的配置⽂件, 我们使⽤的绝⼤多数软件, ⽐如浏览器, 微信, Idea, 甚⾄电脑, ⼿机,都离不开配置⽂件. 我们可能永远不会直接与其中的⼤部分⽂件打交道,但它们确实以不同的形式散落在 我们的计算机上, ⽐如C:\Users, C:\Windows⽂件夹, 以及各种 *.config, *.xml ⽂件 配置⽂件主要是为了解决硬编码带来的问题, 把可能会发⽣改变的信息, 放在⼀个集中的地⽅, 当我们启 动某个程序时, 应⽤程序从配置⽂件中读取数据, 并加载运⾏
硬编码是将数据直接嵌⼊到程序或其他可执⾏对象的源代码中, 也就是我们常说的"代码写死". ⽐如⼿机字体⼤⼩ 如果采⽤硬编码的⽅式, 就直接在程序中指定字体⼤⼩, 所有的⽤⼾使⽤的都是同⼀个字体⼤⼩ 但是不同的⽤⼾有不同的偏好, 我们可以把⼿机字体的⼤⼩放在配置⽂件中, 当程序启动时, 读取配 置, 以⽤⼾设置的字体⼤⼩来显⽰.
使⽤配置⽂件, 可以使程序完成⽤⼾和应⽤程序的交互, 或者应⽤程序与其他应⽤程序的交互
2.配置文件格式
Spring Boot 配置⽂件有以下三种:
- application.properties
- application.yml
- application.yaml
yml 为yaml的简写, 实际开发中出现频率最⾼. yaml 和yml 的使⽤⽅式⼀样
特殊说明
1. 理论上讲 .properties 和 .yml 可以并存在于⼀个项⽬中,当 .properties 和 .yml 并存时,两个配置都会加载. 如果配置⽂件内容有冲突, 则以 .properties 为主, 也就是 .properties 优先级更⾼.
2. 虽然理论上来讲 .properties 可以和 .yml 共存,但实际的业务当中,我们通常会采取⼀种 统⼀的配置⽂件格式,这样可以更好的维护(降低故障率)
3.Properties配置文件
3.1 语法
properties 是以键值的形式配置的,key 和 value 之间是以"="连接的 如:
# 配置项⽬端⼝号
server.port=8080
#配置数据库连接信息
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/testdb?characterEncoding=utf8&
spring.datasource.username=root
spring.datasource.password=root
3.2 读取配置文件
如果在项⽬中,想要主动的读取配置⽂件中的内容,可以使⽤ @Value 注解来实现。 @Value 注解使⽤" ${} "的格式读取,如下代码所⽰:
properties配置
mykey.key1 = bite
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class PropertiesController {
@Value("${mykey.key1}")
private String key1;
@RequestMapping("/key")
public String key(){
return "读取到值:"+key1;
}
}
4. yml配置文件
yml 是树形结构的配置⽂件,它的基础语法是"key: value". key 和 value 之间使⽤英⽂冒号加空格的⽅式组成,空格不可省略
基础语法如下:
yml配置不同数据类型:
# 字符串
string.value: Hello
# 布尔值,true或false
boolean.value: true
boolean.value1: false
# 整数
int.value: 10
# 浮点数
float.value: 3.14159
# Null,~代表null
null.value: ~
# "" 空字符串
#, 直接后⾯什么都不加就可以了, 但这种⽅式不直观, 更多的表⽰是使⽤引号括起来
empty.value: ''
从yml文件中读取数据和properties文件相同 使用@Value{#{key}} 不再赘述
其他配置
总结
以上就是这篇博客的主要内容了,大家多多理解,下一篇博客见!