springboot yaml 获取属性值
时间: 2023-08-24 17:04:41 浏览: 97
在 Spring Boot 中,可以通过在 `application.yaml` 或 `application.properties` 文件中定义属性来获取属性值。以下是几种获取属性值的方法:
1. 使用 `@Value` 注解:可以通过 `@Value("${property.key}")` 注解来注入属性值,其中 `property.key` 是在配置文件中定义的属性键。
```java
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Component
public class MyComponent {
@Value("${my.property}")
private String myProperty;
// getter and setter
}
```
2. 使用 `@ConfigurationProperties` 注解:可以通过 `@ConfigurationProperties(prefix = "prefix")` 注解将属性值绑定到一个类上,其中 `prefix` 是在配置文件中定义的属性前缀。
```java
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@Component
@ConfigurationProperties(prefix = "my")
public class MyProperties {
private String property;
// getter and setter
}
```
3. 使用 `Environment` 对象:可以通过注入 `Environment` 对象来获取属性值。
```java
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.env.Environment;
import org.springframework.stereotype.Component;
@Component
public class MyComponent {
@Autowired
private Environment env;
public void someMethod() {
String property = env.getProperty("my.property");
// 使用属性值...
}
}
```
这些方法都可以用来获取在配置文件中定义的属性值。注意,如果使用 `@Value` 或 `@ConfigurationProperties` 注解,需要确保在配置文件中正确配置了对应的属性键和属性值。
阅读全文