SpringBoot 配置文件
标签: SpringBoot 配置文件
2023-06-03 18:23:24 77浏览
目录
1.配置文件的作用及格式
(1) 配置文件的作用
在 Spring Boot 项目中如果没有配置信息,就不能连接和操作数据库, 甚至是不能保存可以用于排查问题的关键日志, 所以配置文件的作用是非常重要的
(1)系统使用的配置文件
- 端口号的设置
- 数据库的连接信息(包括用户名和密码)
- 第三方系统的调用密钥等信息
- 用于发现和定位问题的普通日志和异常日志等
(2)用户自定义配置文件
(2) 配置文件的格式
Spring Boot 配置文件主要分为两者格式
- .properties
- .yml
properties可以看作老员工,yml可以看作新员工
特殊说明:
1.当一个项目中存在两种格式的配置文件,并且两个配置文件中设置了相同的配置项,但值不同时,那么 properies 的优先级更高。
2.通常情况一个项目中只会存在一种格式的配置文件。
2.properties配置文件说明
properties 配置⽂件是最早期的配置⽂件格式,也是创建 Spring Boot 项⽬默认的配置⽂件。
(1) properties基本语法
properties 是以键值的形式配置的, key=value 中间是以 “=” 连接的
# 配置项目端口号
server.port=8888
# 连接数据库
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/testdb?characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=123456
要注意配置文件中是用"#"来添加注释信息的
(2)读取配置文件
如果在项目中, 想要主动读取配置文件中的内容, 可以使用 @Value 注解来实现
@Value 注解使用 "${}" 的格式读取
`@Controller //当前类为控制器
@ResponseBody //返回的是数据,而非页面
public class TestController {
@Value("${mytext}")
private String mytext;
@RequestMapping("/getMytext")
public String getConfig(){
return "你好: " + mytext;
}
}
(3)properties的缺点分析
properties 配置是以 key-value 的形式配置的,如下图所示:
从上述配置key看出,properties 配置⽂件中会有很多的冗余的信息:
spring.datasource
要想解决这个问题, 就可以使用 yml 配置文件的格式化了
3.yml 配置文件说明
yml 是 YAML 是缩写,它的全称 Yet Another Markup Language 翻译成中⽂就是“另⼀种标记语⾔”。
yml优点分析
- yml语言可读性更高,写法简单,易于理解,其语法与json类似。
- yml支持更多的数据类型,它可以简单表达清单(数组)、散列表,标量等数据形态。它使用空白符号缩进和大量依赖外观的特色,特别适合用来表达或编辑数据结构、各种配置文件等。
- yml支持更多的编程语言,它不止是 Java中可以使用在 Golang、PHP、Python、Ruby、JavaScript、Perl中。
(1)yml 基本写法
yml 是树形结构的配置文件,它的基础语法是“key: value”,注意 key 和 value 之间使用英文冒汗加空格的方式组成的,其中的空格不可省略。
基础语法如下
(2)yml 配置不同的数据类型
# 字符串
string.value: hello
# 布尔值
boolean.value: true
# 整数
int.value: 10
# 浮点数
float.value: 3.14159
# Null, ~ 表示 null
null.value: ~
(3) yml 单双引号的问题
但是加上特殊字符时
结论: yml 中如果使用了双引号就会按照(原)语义执行,如果都不加,或者加了单引号那么默认就会将字符串中的特殊字符进行转义(本来应该换行的,转义后就不换行了)
(4) 配置对象
是使⽤⾏内写法(与上⾯的写法作⽤⼀致):
读取yml中对象
在 yml 中配置对象, 这个时候需要使用注解 @ConfigurationProperties 来读取
@Controller //当前类为控制器
@ResponseBody //返回的是数据,而非页面
public class TestController {
@Autowired
private Student student;
@PostConstruct
private void postConstruct(){
System.out.println(student);
}
}
4.properties 和 yml 的区别
- properties 是以 key=value 的形式配置的键值类型的配置文件, 而 yml 使用的是类似于 json 格式的配置方式, key: value 中间用冒号和空格连接
- properties 是早期并且也是默认的配置文件格式, 这种方式存在一定的冗余数据, yml 可以很好的解决这种冗余问题
- yml 通用性更好,支持更多语言, 并且支持更多的数据类型
- yml支持更多的数据类型
5.设置不同环境的配置文件
在我们以后开发的时候,为了更好的开发编写代码,我们可以有不同类型的配置文件:开发…
(1)创建不同环境的配置文件
- application-dev.yml
- application-prod.yml
(2)在application.yml中设置运行环境
好博客就要一起分享哦!分享海报
此处可发布评论
评论(0)展开评论
展开评论