SpringBoot?讀取yml文件的多種方式匯總
Spring Boot讀取yml文件的主要方式有以下幾種:
1.@Value注解
? 我們可以在bean的屬性上使用@Value注解,直接讀取yml中的值,如:
application.yml:
name: Zhangsan
Bean:
public class MyBean { @Value("${name}") private String name; }
2.Environment對象
我們可以通過注入Environment對象來讀取yml值,如:
@Autowired private Environment environment; public void doSomething() { String name = environment.getProperty("name"); }
3.@ConfigurationProperties注解
我們可以使用@ConfigurationProperties注解將yml中的值映射到bean的屬性上,如:
application.yml:
my: name: Zhangsan age: 18
Bean:
@Component @ConfigurationProperties(prefix = "my") public class MyProps { private String name; private int age; // getter and setter }
4.YmlPropertySourceFactory
我們可以使用YmlPropertySourceFactory來加載yml文件,然后像普通Properties一樣讀取值,如:
@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.@YamlComponent注解
如果yml文件中用—分隔了多個文檔,我們可以使用@YamlComponent注解將每份文檔映射到一個bean上,如:
application.yml:
my: name: Zhangsan --- my: name: Lisi
Beans:
@Component("first") @YamlComponent(value = "my.first") public class FirstProps { private String name; } @Component("second") @YamlComponent(value = "my.second") public class SecondProps { private String name; }
這就是Spring Boot讀取yml文件的主要5種方式,可以根據(jù)需要選擇使用。yml作為Spring Boot默認的配置文件格式,理解如何操縱yml文件將有助于我們實現(xiàn)系統(tǒng)配置的靈活性。
到此這篇關于SpringBoot 讀取yml文件的幾種方式的文章就介紹到這了,更多相關SpringBoot 讀取yml文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
spring?cache注解@Cacheable緩存穿透詳解
這篇文章主要介紹了spring?cache注解@Cacheable緩存穿透詳解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12詳解SpringBoot中@NotNull,@NotBlank注解使用
這篇文章主要為大家詳細介紹了Spring?Boot中集成Validation與@NotNull,@NotBlank等注解的簡單使用,感興趣的小伙伴可以跟隨小編一起學習一下2022-08-08