Spring Boot(02):配置轻松搞定!掌握Spring Boot的yaml、properties配置文件
前言
在开发中,我们经常需要进行配置文件的管理。配置文件通常包含了应用程序中需要的各种配置信息,如数据库连接信息、日志级别、服务器端口等等,对于应用程序的性能和可维护性有着至关重要的作用。Spring Boot提供了多种方式来进行配置文件的管理,本文将重点介绍yaml和properties两种格式的配置文件。
一、yaml格式配置文件
1.1 语法介绍
yaml是一种针对数据序列化的格式,它不能执行任何代码,但是可以作为配置文件。yaml格式配置文件主要由键值对组成。其中,键值对由一对冒号“:”分割,键值对之间使用“-”或者空格进行缩进。
1.2 使用方法
在Spring Boot中,我们可以通过application.yaml或者bootstrap.yaml来进行配置文件的管理。application.yaml中的配置信息会覆盖bootstrap.yaml中的配置信息。以下是一个简单的yaml格式配置文件示例:
二、properties格式配置文件
2.1 语法介绍
properties格式配置文件也是由键值对组成的,其中,键值对由等号“=”进行分割,多个键值对之间使用换行符“\n”进行分割。
2.2 使用方法
在Spring Boot中,我们可以通过application.properties或者bootstrap.properties来进行配置文件的管理。以下是一个简单的properties格式配置文件示例:
三、实际应用场景
在实际应用场景中,我们可能需要根据不同的环境来加载不同的配置文件。Spring Boot提供了多种方式来进行环境配置。可以通过设置spring.profiles.active参数来指定当前的环境,同时可以在配置文件名后用“-”来指定当前环境。例如:
此外,Spring Boot还提供了@ConfigurationProperties注解来自动注入配置文件。以下是一个简单的示例:
四、测试用例
为了验证本文的代码正确性,我们编写了一个简单的Spring Boot应用程序,并分别使用yaml和properties两种格式的配置文件进行配置。
4.1 创建一个新的Spring Boot项目
在Spring Initializr中创建一个新的Spring Boot项目,选择Web和MySql依赖。
4.2 添加yaml格式配置文件
在src/main/resources目录下创建application.yaml文件,并添加以下内容:
server:
port: 8080
servlet:
context-path: /demo
spring:
datasource:
url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true&useSSL=false&allowPublicKeyRetrieval=true
username: root
password: 123456
jackson:
time-zone: GMT+8
date-format: yyyy-MM-dd HH:mm:ss
4.3 添加properties格式配置文件
在src/main/resources目录下创建application.properties文件,并添加以下内容:
server.port=8080
server.servlet.context-path=/demo
spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true&useSSL=false&allowPublicKeyRetrieval=true
spring.datasource.username=root
spring.datasource.password=123456
spring.jackson.time-zone=GMT+8
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
4.4 添加Book类和BookController类
在src/main/java目录下创建com.example.demo包,在该包下创建Book类和BookController类。代码如下:
示例截图如下:
//Book.java
@ConfigurationProperties(prefix = "book")
public class Book {
private String title;
private String author;
private BigDecimal price;
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public BigDecimal getPrice() {
return price;
}
public void setPrice(BigDecimal price) {
this.price = price;
}
}
//BookController.java
@RestController
public class BookController {
@Autowired
private Book book;
@GetMapping("/book")
public Book getBook() {
return book;
}
}
4.5 启动应用程序
在IDEA中启动应用程序,并在浏览器中访问http://localhost:8080/demo/book,我们可以看到应用程序输出了我们在yaml和properties格式配置文件中设置的书籍信息。
小结
本文主要介绍了Spring Boot中yaml和properties两种格式的配置文件的使用。yaml格式配置文件主要由键值对组成,其中键和值之间使用冒号“:”进行分割,多个键值对之间使用“-”或者空格进行缩进。properties格式配置文件同样由键值对组成,其中键和值之间使用等号“=”进行分割,多个键值对之间使用换行符“\n”进行分割。在实际应用场景中,我们可以根据不同的环境来加载不同的配置文件,同时可以通过@ConfigurationProperties注解来自动注入配置文件。配置文件的管理对于Spring Boot应用程序的性能和可维护性有着至关重要的作用。
关于我
我是bug菌,CSDN | 阿里云 | 华为云 | 51CTO 等社区博客专家,历届博客之星Top30,掘金年度人气作者Top40,51CTO年度博主Top12,掘金 | InfoQ | 51CTO等社区优质创作者,全网粉丝合计15w+ ;硬核微信公众号「猿圈奇妙屋」,欢迎你的加入!免费白嫖最新BAT互联网公司面试题、4000G pdf电子书籍、简历模板等海量资料。
- 点赞
- 收藏
- 关注作者
评论(0)