目錄
Spring Boot讀取yml檔案的主要方式有以下幾種:
#1.@Value註解
2.Environment物件
3.@ConfigurationProperties註解
4.YmlPropertySourceFactory
5.@YamlComponent註解
首頁 Java java教程 SpringBoot讀取yml檔案的3種方式

SpringBoot讀取yml檔案的3種方式

Jun 29, 2023 pm 11:25 PM
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; 
}
登入後複製

可以根據需求選擇其中5種主要方式,Spring Boot可以讀取yml檔案。 yml作為Spring Boot預設的設定檔格式,理解如何操縱yml檔案將有助於我們實現系統配置的靈活性。

以上是SpringBoot讀取yml檔案的3種方式的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

springboot怎麼讀取yml檔案中的list列表、陣列、map集合和對象 springboot怎麼讀取yml檔案中的list列表、陣列、map集合和對象 May 11, 2023 am 10:46 AM

application.yml定義list集合第一種方式使用@ConfigurationProperties註解獲取list集合的所有值type:code:status:-200-300-400-500編寫配置文件對應的實體類,這裡需要注意的是,定義list集合,先定義一個配置類別Bean,然後使用註解@ConfigurationProperties註解來取得list集合值,這裡給大家講解下相關註解的作用@Component將實體類別交給Spring管理@ConfigurationPropertie

SpringBoot讀取yml檔案的3種方式 SpringBoot讀取yml檔案的3種方式 Jun 29, 2023 pm 11:25 PM

SpringBoot讀取yml檔案的主要方式有以下幾種:1.@Value註解我們可以在bean的屬性上使用@Value註解,直接讀取yml中的值,如:application.yml:name:ZhangsanBean:publicclassMyBean{ @Value("${name}")privateStringname;}2.Environment物件我們可以透過注入Environment物件來讀取yml值,如:@AutowiredprivateEnvironmentenv

Springboot中com.mysql.cj.jdbc.Driver在yml檔案中爆紅怎麼解決 Springboot中com.mysql.cj.jdbc.Driver在yml檔案中爆紅怎麼解決 May 11, 2023 pm 09:52 PM

com.mysql.cj.jdbc.Driver在yml檔案中爆紅的原因前幾天搭建了一個框架,出現一個奇怪的問題,當配置mysql檔案時,com.mysql.cj.jdbc.Driver一直在爆紅,我以為是版本太低了,就升級了高版本,但是還在爆紅,最後我在網上查了半天,網上的方法就是說版本太低了,但是我還是一直不行以前用的依賴包是: mysqlmysql-connector-java8.0.15最後我把版本號碼去掉就好了,mysqlmysql-connector-javadriver-class-na

SpringBoot怎麼實作讀取YML,yaml,properties文件 SpringBoot怎麼實作讀取YML,yaml,properties文件 May 13, 2023 pm 09:07 PM

yml,yaml,properties三種文件都是用來存放配置的文件,一些靜態數據,配置的數據都會存放到裡邊。但是有的時候我們不只需要儲存靜態數據,還需要從文件中讀取數據出來。這三種文件都放在專案--》src--》main--》resource下邊。如果resource裡邊需要存放其他檔案的話,會在resource裡邊建立一個config包。將設定檔存放其中。 1.在專案中新建設定文件,檔案存放位址bootstrap.yml是SpringBoot程式的一個設定文件,在專案啟動前就會被加載,將數

SpringBoot專案多層級多環境yml設計的方法是什麼 SpringBoot專案多層級多環境yml設計的方法是什麼 May 30, 2023 pm 11:36 PM

需求場景基礎架構模組中有一些通用固定的基礎配置。例如:日誌的配置,Spring本身的配置以及MyBatisPlus相關的固定配置等等。這些配置往往與環境無關,如何重複使用? #日誌配置logging:level:#記得配置到套件名稱com.agileboot:debugorg.springframework:infopattern:console:"%date%thread%green(%level)[%cyan(%logger{10}):%magenta( %line)]%red(%method

Springboot的yml設定檔怎麼使用 Springboot的yml設定檔怎麼使用 May 11, 2023 pm 12:19 PM

一、服務配置server:port:8989servlet:#context-path就是連接埠號碼與服務之間要加的一段路徑,例如localhost:8080/wcm/login/login的/wcm就是context-path:/二、資料庫連接spring:datasource:driver-class-name:com.mysql.cj.jdbc.Driverurl:jdbc:mysql://127.0.0.1:3306/jxc_manage?useUnicode=true&charac

Springboot怎麼指定取得yml檔案裡的設定值 Springboot怎麼指定取得yml檔案裡的設定值 May 15, 2023 am 09:55 AM

內容:這裡分別介紹兩種方式,都是基於註解實現,分別是:@Value("${xxxxx.xx}")@ConfigurationProperties(prefix="xxxxx")進入主題:@Value("${xxxxx. xx}")使用這種方式非常簡單(每一個註解獲取一個對應的配置值),在yml裡面加入我們的自訂配置項,如(大小寫隨意,調用時對應好就行):指定獲取這些值去使用,如:@Value("${myKey.tua}&quo

SpringBoot讀取Yml設定檔的方法有哪些 SpringBoot讀取Yml設定檔的方法有哪些 Jun 02, 2023 pm 10:20 PM

1.基礎用法,使用註解@Autowired注入Environment類別這種方式比較常見,就像注入service或dao一樣,宣告一個Environment類別變量,加上@Autowire註解。如下:importorg.springframework.core.env.Environment;@AutowiredprivateEnvironmentenvironment;使用方法就是透過getProperty(key)方法讀取設定檔中的信息,程式碼如下:1).Yml中的設定heycloud:job

See all articles