文章目录
- 一、配置文件
-
- [1. properties配置](#1. properties配置)
-
- [1.1 创建配置文件](#1.1 创建配置文件)
- [1.2 添加配置项](#1.2 添加配置项)
- [1.3 在应用中使用配置项](#1.3 在应用中使用配置项)
- [1.4 多环境配置](#1.4 多环境配置)
- [2. YAML配置](#2. YAML配置)
-
- [2.1 创建配置文件](#2.1 创建配置文件)
- [2.2 添加配置项](#2.2 添加配置项)
- [2.3 在应用中使用配置项](#2.3 在应用中使用配置项)
- [2.4 多环境配置](#2.4 多环境配置)
- 二、自定义配置类
-
- [1. 创建配置类](#1. 创建配置类)
- [2. 使用配置类](#2. 使用配置类)
一、配置文件
Spring Boot支持多种配置文件格式,包括properties和YAML。可以根据项目需求选择合适的格式。
1. properties配置
1.1 创建配置文件
在src/main/resources目录下创建一个application.properties
文件(如果没有则新建)。这是Spring Boot默认读取的配置文件名。
1.2 添加配置项
properties
# 数据库连接配置
spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase
spring.datasource.username=root
spring.datasource.password=password
1.3 在应用中使用配置项
通过@Value
注解或@ConfigurationProperties
注解将配置值注入到Spring Bean中:
java
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Component
public class DatabaseConfig {
@Value("${spring.datasource.url}")
private String dbUrl;
@Value("${spring.datasource.username}")
private String dbUsername;
@Value("${spring.datasource.password}")
private String dbPassword;
// 省略getter和setter方法
}
1.4 多环境配置
可以根据不同的环境(如开发、测试、生产)创建不同的配置文件(如application-dev.properties
、application-test.properties
、application-prod.properties
),并在启动应用程序时通过spring.profiles.active
属性来指定使用的环境。
properties
spring.profiles.active=dev
2. YAML配置
2.1 创建配置文件
创建一个application.yml
文件,YAML格式的配置文件更易读且支持复杂结构的配置。
2.2 添加配置项
yaml
# 数据库连接配置
spring:
datasource:
url: jdbc:mysql://localhost:3306/mydatabase
username: root
password: password
2.3 在应用中使用配置项
与properties配置类似,通过@ConfigurationProperties
注解将配置值注入到Spring Bean中。
java
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@Component
@ConfigurationProperties(prefix = "spring.datasource")
public class DatabaseConfig {
private String url;
private String username;
private String password;
// 省略getter和setter方法
}
2.4 多环境配置
同样支持多环境配置,可以使用spring.profiles.active
属性来指定不同的环境。
二、自定义配置类
除了使用@Value
和@ConfigurationProperties
注解外,还可以通过自定义配置类的方式来管理配置项。
1. 创建配置类
java
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
@Configuration
@ConfigurationProperties(prefix = "myapp")
public class MyAppConfig {
private String apiUrl;
private String apiKey;
// 省略getter和setter方法
}
2. 使用配置类
直接在需要使用的地方注入该配置类即可:
java
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Component
public class MyApiClient {
private final MyAppConfig appConfig;
@Autowired
public MyApiClient(MyAppConfig appConfig) {
this.appConfig = appConfig;
}
public void callApi() {
String apiUrl = appConfig.getApiUrl();
String apiKey = appConfig.getApiKey();
// 使用配置的API URL和API Key进行操作
}
}