欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringBoot讀取yaml文件操作詳解

 更新時間:2022年09月08日 09:40:10   作者:mzz124  
YAML 是 “YAML Ain’t Markup Language”(YAML 不是一種標(biāo)記語言)的遞歸縮寫。在開發(fā)的這種語言時,YAML 的意思其實是:“Yet Another Markup Language”(仍是一種標(biāo)記語言),本文給大家介紹的非常詳細,需要的朋友可以參考下

1. 單個屬性

yaml 內(nèi)的屬性如下:

server:
  port: 80

只需在成員變量上注解 @Value(“${屬性名}”) 即可,用美元符號獲取屬性值

如下例:

@RestController
@RequestMapping("/")
public class DemoController {
    @Value("${server.port}")
    private String port;
    @GetMapping
    public String func() {
        return "server port: " + port;
    }
}

2. 全部屬性

yaml 內(nèi)的屬性如下:

server:
  port: 80
logging:
  level: 
    root: warn

定義 Environment 成員變量,注解 @Autowired 即可,通過 .gerProperty(屬性名) 函數(shù)來獲取屬性值

如下例:

@RestController
@RequestMapping("/")
public class DemoController {
    @Autowired
    private Environment environment;
    @GetMapping
    public String func() {
        String port = environment.getProperty("server.port");
        String level = environment.getProperty("logging.level.root");
        return "server port: " + port + "\n"
                + "logging level: " + level;
    }
}

3. 對象屬性

yaml 內(nèi)的屬性如下:

mybook:
  name: 《SpringBoot入門》
  price: 28.00
  tags: [編程, Java, Spring]

首先要定義一個 bean,給類注解 @Component 表示添加到 Spring 容器,注解 @ConfigurationProperties 設(shè)置屬性 prefix 為配置中的對象名,如下例:

@Component
@ConfigurationProperties(prefix = "mybook")
public class Book {
    private String name;
    private Double price;
    private String[] tags;
	// 省略了成員方法
}

使用自動裝配填充即可,如下例:

@RestController
@RequestMapping("/")
public class DemoController {
    @Autowired
    private Book book;
    @GetMapping
    public String func() {
        return book.toString();
    }
}

補充:

當(dāng)有多個類注解 prefix 的值為同一個對象時,IDEA會報錯 Duplicated prefix,但不影響項目運行

補充

在剛才自定義 bean 時,IDEA 會報一個警告 Spring Boot Configuration Annotation Processor not configured,顯示在頁面的頂部,這個警告不會影響項目運行

在 pom.xml 中添加下面的依賴就可以解決:

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-configuration-processor</artifactId>
</dependency>

到此這篇關(guān)于SpringBoot讀取yaml文件操作詳解的文章就介紹到這了,更多相關(guān)SpringBoot讀取yaml內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java中Lamda表達式講解

    java中Lamda表達式講解

    本文詳細講解了java中的Lamda表達式,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-12-12
  • java中synchronized關(guān)鍵字的3種寫法實例

    java中synchronized關(guān)鍵字的3種寫法實例

    synchronized是Java中的關(guān)鍵字,是一種同步鎖,下面這篇文章主要給大家介紹了關(guān)于java中synchronized關(guān)鍵字的3種寫法,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2021-11-11
  • SpringBoot接口調(diào)用之后報404問題的解決方案

    SpringBoot接口調(diào)用之后報404問題的解決方案

    這篇文章主要介紹了SpringBoot接口調(diào)用之后報404問題的解決方案,具有很好的參考價值,希望對大家有所幫助。
    2021-06-06
  • Nacos-SpringBoot框架啟動不加載bootstrap.yml的解決

    Nacos-SpringBoot框架啟動不加載bootstrap.yml的解決

    這篇文章主要介紹了Nacos-SpringBoot框架啟動不加載bootstrap.yml的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • Mybatis -如何處理clob類型數(shù)據(jù)

    Mybatis -如何處理clob類型數(shù)據(jù)

    這篇文章主要介紹了Mybatis 如何處理clob類型數(shù)據(jù)的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Java并發(fā)編程之Exchanger方法詳解

    Java并發(fā)編程之Exchanger方法詳解

    這篇文章主要介紹了Java并發(fā)編程之Exchanger方法詳解,本文通過示例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04
  • Go并發(fā)編程中使用channel的方法

    Go并發(fā)編程中使用channel的方法

    本文給大家介紹Go并發(fā)編程中使用channel的方法,通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2021-11-11
  • 詳解Spring配置事務(wù)的五種方式

    詳解Spring配置事務(wù)的五種方式

    這篇文章主要為大家詳細介紹了Spring配置事務(wù)的五種方式,感興趣的小伙伴們可以參考一下
    2016-06-06
  • Java 使用Thumbnails對大圖片壓縮

    Java 使用Thumbnails對大圖片壓縮

    這篇文章主要介紹了Java 使用Thumbnails對大圖片壓縮,幫助大家更好的利用Java處理圖片,感興趣的朋友可以了解下
    2020-11-11
  • SpringBoot 鉤子接口的實現(xiàn)代碼

    SpringBoot 鉤子接口的實現(xiàn)代碼

    本文主要介紹了SpringBoot 鉤子接口,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-08-08

最新評論