溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

SpringBoot中怎么使用yaml配置文件

發(fā)布時間:2022-07-05 14:11:20 來源:億速云 閱讀:225 作者:iii 欄目:開發(fā)技術(shù)

本篇內(nèi)容介紹了“SpringBoot中怎么使用yaml配置文件”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

1.基本語法

  • key: value;kv之間有空格

  • 大小寫敏感

  • 使用縮進表示層級關(guān)系

  • 縮進不允許使用tab,只允許空格

  • 縮進的空格數(shù)不重要,只要相同層級的元素左對齊即可

  • '#'表示注釋

  • 字符串無需加引號,如果要加,單引號’'、雙引號""表示字符串內(nèi)容會被 轉(zhuǎn)義、不轉(zhuǎn)義

2.數(shù)據(jù)類型

1.字面量:單個的、不可再分的值。date、boolean、string、number、null

k: v

2.對象:鍵值對的集合。map、hash、set、object

#行內(nèi)寫法:  

k: {k1:v1,k2:v2,k3:v3}

#或

k: 
  k1: v1
  k2: v2
  k3: v3

3.數(shù)組:一組按次序排列的值。array、list、queue

#行內(nèi)寫法:  

k: [v1,v2,v3]

#或者

k:
 - v1
 - v2
 - v3

3.代碼測試

User

package com.limi.springboottest2.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class User {
    private String userName;
    private Integer age;
    private String gender;
}

Entity1

package com.limi.springboottest2.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
import java.util.List;
import java.util.Map;
@ConfigurationProperties(prefix = "entity1")
@Data
@AllArgsConstructor
@NoArgsConstructor
@Component
public class Entity1 {
    private Double number;
    private List<String> array;
    private User user;
    private Map<String, Integer> map;
    private String str0;
    private String str1;
    private String str2;
}

application.yml

entity1:
  number: 11
  array: ["apple", "peach", "orange"]
  user: {userName: "lily", }
  map: {"Math": 100,"English": 98,"Art": 8}
#對比字符串變量不使用引號、使用單引號、雙引號的區(qū)別
  str0: \n 666
  str1: '\n 666'
  str2: "\n 666"

HelloController

package com.limi.springboottest2.controller;
import com.limi.springboottest2.entity.Entity1;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class HelloController {
    @Autowired
    private Entity1 entity1;
    @GetMapping("/test1")
    @ResponseBody
    void test1() {
        System.out.println(entity1);
    }
}

測試結(jié)果

SpringBoot中怎么使用yaml配置文件

可以看到

  • 不使用引號和使用單引號的字符串: n 666 中的\n是直接輸出\n

  • 使用雙引號的字符串: \n 666 中的\n是輸出為換行符

4.開啟補全提示

就是下圖的效果

SpringBoot中怎么使用yaml配置文件

自定義的類和配置文件綁定一般沒有提示。若要提示,添加如下依賴:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-configuration-processor</artifactId>
    <optional>true</optional>
</dependency>
<!-- 下面插件作用是工程打包時,不將spring-boot-configuration-processor打進包內(nèi),讓其只在編碼的時候有用 -->
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <excludes>
                    <exclude>
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-configuration-processor</artifactId>
                    </exclude>
                </excludes>
            </configuration>
        </plugin>
    </plugins>
</build>

“SpringBoot中怎么使用yaml配置文件”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI