【Spring Boot】之配置文件详解
Spring Boot 使用一个全局配置文件 application.properties
或 application.yml
来控制应用的行为。
application.properties
示例:
server.port=8080
server.servlet.context-path=/myapp
spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=myuser
spring.datasource.password=mypass
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
application.yml
示例:
server:
port: 8080
servlet:
context-path: /myapp
spring:
datasource:
url: jdbc:mysql://localhost:3306/mydb
username: myuser
password: mypass
driver-class-name: com.mysql.jdbc.Driver
在 application.properties
中,使用 key=value
的格式来设置属性。在 application.yml
中,使用层次结构来设置属性,并且使用空格缩进来标识层级。
Spring Boot 配置文件可以根据不同的环境(如开发、测试、生产)进行分离,通过激活不同的配置文件来实现环境间的切换。例如,可以创建 application-dev.properties
和 application-prod.properties
来分别设置开发环境和生产环境的配置。
Spring Boot 配置文件的优先级如下:
- 当前目录下的
application.properties
或application.yml
文件。 - 当前环境(如开发、测试、生产)的特定配置文件。
- 外部配置文件(使用命令行参数
--spring.config.location
指定)。 - 环境变量。
- Java系统属性(如通过命令行
-Dproperty.name=value
设置)。
Spring Boot 配置属性可以通过 @Value
注解直接注入到 Bean 中,或者通过 Environment
对象读取。
示例代码:
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Component
public class MyBean {
@Value("${my.property}")
private String myProperty;
// Getter and Setter
}
通过 Environment
对象读取:
import org.springframework.core.env.Environment;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Component
public class MyEnvironmentBean {
private Environment environment;
@Autowired
public MyEnvironmentBean(Environment environment) {
this.environment = environment;
}
public String getMyProperty() {
return environment.getProperty("my.property");
}
}
以上是 Spring Boot 配置文件的基本使用方法,实际应用中可以根据具体需求进行配置。
评论已关闭