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: 18Bean:
@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-09
spring?cache注解@Cacheable緩存穿透詳解
這篇文章主要介紹了spring?cache注解@Cacheable緩存穿透詳解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12
詳解SpringBoot中@NotNull,@NotBlank注解使用
這篇文章主要為大家詳細(xì)介紹了Spring?Boot中集成Validation與@NotNull,@NotBlank等注解的簡單使用,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2022-08-08

