本文介绍读取yaml配置内容的三种方法
- 推荐用第三种,更方便
- 以如下yaml文件为例
application.ymlperson: name: ikun sex: male hobby: - sing - dance - rap - basketball
- 通过
@Value
注解- 代码
@Value("${person.name}") private String name; @Value("${person.hobby[0]}") private String hobby1; @Test public void method1Test() { System.out.println("第一种方法读取yaml配置内容"); System.out.println("name = " + name); System.out.println("hobby1 = " + hobby1); }
- 运行结果
- 代码
- 通过Environment类
- 代码
//注意导包为import org.springframework.core.env.Environment; @Autowired private Environment environment; @Test public void method2Test(){ String personName = environment.getProperty("person.name"); String hobby = environment.getProperty("person.hobby[2]"); System.out.println("name = " + name); System.out.println("hobby = " + hobby); }
- 结果截图
- 配置自定义类
- 代码
---先写一个类,对应yaml里的内容
@Data
@Component
@ConfigurationProperties(prefix = "person")
public class Person {
private String name;
private String sex;
private String[] hobby;
}
---随后通过自动装配即可使用
@Autowired
private Person person;
@Test
public void method3Test() {
System.out.println(person);
}
- 运行结果截图