yaml文件里 user: - name: lpl age: 18 - name: sasa age: 21,Springboot怎么读取
时间: 2024-05-01 12:22:27 浏览: 184
可以使用 Spring Boot 中的 `@ConfigurationProperties` 注解来读取 YAML 文件中的属性值,具体步骤如下:
1. 引入 YAML 依赖
在 `pom.xml` 文件中添加以下依赖:
```xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-yaml</artifactId>
</dependency>
```
2. 创建配置类
在配置类中使用 `@ConfigurationProperties` 注解,并指定 YAML 文件中的前缀,将 YAML 文件中的属性值映射到 Java 对象中。
```java
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
import java.util.List;
@Component
@ConfigurationProperties(prefix = "user")
public class UserConfig {
private List<User> users;
public List<User> getUsers() {
return users;
}
public void setUsers(List<User> users) {
this.users = users;
}
public static class User {
private String name;
private Integer age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}
}
```
3. 编写 YAML 配置文件
在 `application.yml` 文件中添加以下配置:
```yaml
user:
- name: lpl
age: 18
- name: sasa
age: 21
```
4. 注入配置类
在需要使用配置类的地方,使用 `@Autowired` 注解将配置类注入即可。
```java
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class UserController {
@Autowired
private UserConfig userConfig;
@GetMapping("/users")
public List<UserConfig.User> getUsers() {
return userConfig.getUsers();
}
}
```
这样就可以读取 YAML 文件中的属性值了,访问 `http://localhost:8080/users` 可以获取到用户列表。
阅读全文