文章目录
- 一、配置文件
- 1. properties配置
- 1.1 创建配置文件
- 1.2 添加配置项
- 1.3 在应用中使用配置项
- 1.4 多环境配置
- 2. YAML配置
- 2.1 创建配置文件
- 2.2 添加配置项
- 2.3 在应用中使用配置项
- 2.4 多环境配置
- 二、自定义配置类
- 1. 创建配置类
- 2. 使用配置类
一、配置文件
Spring Boot支持多种配置文件格式,包括properties和YAML。可以根据项目需求选择合适的格式。
1. properties配置
1.1 创建配置文件
在src/main/resources目录下创建一个application.properties
文件(如果没有则新建)。这是Spring Boot默认读取的配置文件名。
1.2 添加配置项
# 数据库连接配置
spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase
spring.datasource.username=root
spring.datasource.password=password
1.3 在应用中使用配置项
通过@Value
注解或@ConfigurationProperties
注解将配置值注入到Spring Bean中:
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
属性来指定使用的环境。
spring.profiles.active=dev
2. YAML配置
2.1 创建配置文件
创建一个application.yml
文件,YAML格式的配置文件更易读且支持复杂结构的配置。
2.2 添加配置项
# 数据库连接配置
spring:datasource:url: jdbc:mysql://localhost:3306/mydatabaseusername: rootpassword: password
2.3 在应用中使用配置项
与properties配置类似,通过@ConfigurationProperties
注解将配置值注入到Spring Bean中。
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. 创建配置类
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. 使用配置类
直接在需要使用的地方注入该配置类即可:
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;@Component
public class MyApiClient {private final MyAppConfig appConfig;@Autowiredpublic MyApiClient(MyAppConfig appConfig) {this.appConfig = appConfig;}public void callApi() {String apiUrl = appConfig.getApiUrl();String apiKey = appConfig.getApiKey();// 使用配置的API URL和API Key进行操作}
}