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默認(rèn)的配置文件格式,理解如何操縱yml文件將有助于我們實現(xiàn)系統(tǒng)配置的靈活性。
到此這篇關(guān)于SpringBoot 讀取yml文件的幾種方式的文章就介紹到這了,更多相關(guān)SpringBoot 讀取yml文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java 進(jìn)程執(zhí)行外部程序造成阻塞的一種原因
前一陣子在研究文檔展示時使用了java進(jìn)程直接調(diào)用外部程序,其中遇到一個問題花了好長時間才解決,這個問題就是外部程序直接執(zhí)行沒什么問題,但是當(dāng)使用Java進(jìn)程執(zhí)行時外部程序就阻塞在那兒不動了。而且這個外部程序在處理某些文件時使用Java進(jìn)程執(zhí)行是沒問題的2014-03-03關(guān)于spring boot整合kafka+注解方式
這篇文章主要介紹了關(guān)于spring boot整合kafka+注解方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09spring?cache注解@Cacheable緩存穿透詳解
這篇文章主要介紹了spring?cache注解@Cacheable緩存穿透詳解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12詳解SpringBoot中@NotNull,@NotBlank注解使用
這篇文章主要為大家詳細(xì)介紹了Spring?Boot中集成Validation與@NotNull,@NotBlank等注解的簡單使用,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2022-08-08