Nous pouvons utiliser l'annotation @Value sur les propriétés du bean pour lire directement la valeur dans yml, comme. :
application.yml:
name: Zhangsan
Bean:
public class MyBean { @Value("${name}") private String name; }
Nous pouvons lire la valeur yml en injectant l'objet Environment, tel que:
@Autowired private Environment environment; public void doSomething() { String name = environment.getProperty("name"); }
Nous pouvons utiliser L'annotation @ConfigurationProperties mappe les valeurs de yml aux propriétés du bean, telles que :
application.yml:
my: name: Zhangsan age: 18
Bean:
@Component @ConfigurationProperties(prefix = "my") public class MyProps { private String name; private int age; // getter and setter }
@Bean public static PropertySourcesPlaceholderConfigurer properties() { YamlPropertiesFactoryBean factory = new YamlPropertiesFactoryBean(); factory.setResources(new ClassPathResource("application.yml")); factory.getObject().forEach((k, v) -> System.out.println(k + ": " + v)); return factory; }
5 Annotation @YamlComponent
my:
name: Zhangsan
---
my:
name: Lisi
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!@Component("first")
@YamlComponent(value = "my.first")
public class FirstProps {
private String name;
}
@Component("second")
@YamlComponent(value = "my.second")
public class SecondProps {
private String name;
}