国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Spring Boot配置文件:properties 與 yml 的競爭

這篇具有很好參考價(jià)值的文章主要介紹了Spring Boot配置文件:properties 與 yml 的競爭。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

Spring Boot配置文件:properties 與 yml 的競爭,# Spring Boot,spring boot,后端,配置文件

Spring Boot配置文件:properties 與 yml 的競爭,# Spring Boot,spring boot,后端,配置文件

?? 前言

本文,我們就要來介紹一下Spring Boot中的配置文件 ,在學(xué)習(xí)了本文之后,可以很清楚地知道如何在Spring Boot中去配置項(xiàng)目的一些系統(tǒng)設(shè)置

一、配置文件的說明

1、什么是配置文件

首先我們先來聊聊什么是配置文件?

  • 配置文件是一種 文本文件,通常用于存儲(chǔ)程序的參數(shù)和設(shè)置。它包含了程序運(yùn)行所需的各種選項(xiàng)和配置信息,例如界面風(fēng)格、服務(wù)器連接信息、默認(rèn)語言等。這些信息可以通過鍵值對(duì)的形式表示,也可以使用特定的語法和結(jié)構(gòu)描述更復(fù)雜的配置信息。

  • 配置文件通常由 程序在啟動(dòng)時(shí)讀取和解析,以自定義程序的行為。例如,在網(wǎng)站開發(fā)中,網(wǎng)站的配置文件通常包含了數(shù)據(jù)庫連接信息、安全性設(shè)置、日志記錄等重要信息。在操作系統(tǒng)中,配置文件則可以用于指定各種系統(tǒng)參數(shù),如網(wǎng)絡(luò)連接、設(shè)備驅(qū)動(dòng)程序等。

  • 配置文件的格式和內(nèi)容因程序而異,常見的配置文件格式包括INI文件、XML文件JSON文件等。INI文件是最早的配置文件格式之一,它使用簡單的鍵值對(duì)語法來存儲(chǔ)配置信息。XML和JSON文件則更加靈活和可擴(kuò)展,可以描述更復(fù)雜的配置信息。

  • 除了使用傳統(tǒng)的文本編輯器手動(dòng)編寫配置文件外,現(xiàn)在也有許多工具可以幫助用戶輕松地編輯和管理配置文件。例如,一些應(yīng)用程序具有自己的 配置文件編輯器,用戶可以通過界面來直觀地編輯配置信息。另外,一些配置管理工具則可以幫助用戶 自動(dòng)化地管理和維護(hù)配置文件,例如版本控制、備份和恢復(fù)等。

2、配置文件的作用

知道了什么是配置文件之后,我們來看看它的作用有哪些

整個(gè)項(xiàng)?中所有重要的數(shù)據(jù)都是在配置?件中配置的,?如:

  • 數(shù)據(jù)庫的連接信息(包含?戶名和密碼的設(shè)置);
  • 項(xiàng)?的啟動(dòng)端?;
  • 第三?系統(tǒng)的調(diào)?秘鑰等信息;
  • ?于發(fā)現(xiàn)和定位問題的普通?志和異常?志等;

想象?下如果沒有配置信息,那么 Spring Boot 項(xiàng)?就 不能連接和操作數(shù)據(jù)庫,甚?是不能保存可以?于排查問題的關(guān)鍵?志,所以配置?件的作?是?常重要的?

我們可以來看看配置文件最簡單的功能:修改服務(wù)器的啟動(dòng)端口號(hào) 對(duì)于默認(rèn)的端口我們可以看到是8080

Spring Boot配置文件:properties 與 yml 的競爭,# Spring Boot,spring boot,后端,配置文件

現(xiàn)在我們通過application.properties這個(gè)Spring Boot的配置文件將其修改為 9090

server.port=9090

Spring Boot配置文件:properties 與 yml 的競爭,# Spring Boot,spring boot,后端,配置文件

然后在修改之后我們?cè)偃?dòng)項(xiàng)目可以發(fā)現(xiàn)端口號(hào)被修改成為9090

Spring Boot配置文件:properties 與 yml 的競爭,# Spring Boot,spring boot,后端,配置文件
?? 如果我們想要訪問這個(gè)項(xiàng)目就不能使用 localhost:8080了,而要使用 localhost:9090 地址了

3、配置文件的格式

清楚了配置文件的作用之后,我們?cè)賮砜纯此母袷绞窃鯓拥?/p>

Spring Boot 配置?件主要分為以下兩種格式:

  • .properties
  • .yml

Spring Boot配置文件:properties 與 yml 的競爭,# Spring Boot,spring boot,后端,配置文件

這就好像連鎖店??的統(tǒng)?服裝?樣,有兩種不同的款式,properties類型的配置?件就屬于?款“服飾”,也是創(chuàng)建 Spring Boot 項(xiàng)?時(shí)默認(rèn)的?件格式(主要是由于倉庫?還有庫存),? yml 屬于新版款式,如果?戶了解情況直接指定要新款服飾,那么就直接發(fā)給他

那這兩種格式有什么區(qū)別呢?我們來對(duì)比一下看看

  • properties文件
    • 出現(xiàn)的比較早
    • 出現(xiàn)中文的話出現(xiàn)亂碼的幾率非常大
  • yml文件
    • 出現(xiàn)的比較晚
    • 對(duì)中文的支持度是比較高
    • 在語法上,yml 配置格式相較于 properties 配置格式來說更加的簡潔
  • 一些特殊說明
    • 理論上講 .properties 可以和 .yml ?起存在于?個(gè)項(xiàng)?當(dāng)中,當(dāng) properties 和 yml ?起存在?個(gè)項(xiàng)?中時(shí),如果配置?件中出現(xiàn)了同樣的配置,?如 properties 和 yml 中都配置了“server.port”,那么這個(gè)時(shí)候會(huì) 以 properties 中的配置為主,也就是 .properties 配置?件的優(yōu)先級(jí)最?,但加載完 .properties ?件之后,也會(huì)加載 .yml ?件的配置信息。
    • 雖然理論上來講 .properties 可以和 .yml 共存,但實(shí)際的業(yè)務(wù)當(dāng)中,我們通常會(huì)采取?種統(tǒng)?的配置?件格式(只會(huì)選一個(gè)存在),這樣可以更好的維護(hù)(降低故障率)

二、.properties 配置文件

properties 配置?件是最早期的配置?件格式,也是創(chuàng)建 Spring Boot 項(xiàng)?默認(rèn)的配置?件

1、properties 基本語法

我們先來看看它的基本語法:

  • properties 是以鍵值的形式配置的,key 和 value 之間是以“=”連接的,如:
# 配置項(xiàng)?端?號(hào)
server.port=8080
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/testdb?characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=123456

【小貼士】:

  1. 我們?cè)谂渲梦募袑懽⑨屖且?code>#開頭的
  2. 對(duì)于這配置文件里的配置項(xiàng)我們可以去做一個(gè)分類:
    • 系統(tǒng)配置項(xiàng),比如server.port/spring.datasource.url... —> 系統(tǒng)
    • 用戶自定義配置(非系統(tǒng)配置項(xiàng))—> key 用戶自定義
  3. 配置文件在項(xiàng)目重啟再打開之后可能會(huì)出現(xiàn)亂碼,涉及字符集的問題,這一塊可以看我之前的文章 鏈接

2、讀取配置文件

配置文件在寫好之后不僅僅就好了哦,我們還可以去讀取到里面的內(nèi)容,一起來試試吧??

?? 如果在項(xiàng)?中,想要主動(dòng)的讀取配置?件中的內(nèi)容,可以使? @Value 注解來實(shí)現(xiàn)

# 用戶自定義配置
javaclass=106
  • 以下是測試代碼,我們一起來看看結(jié)果
@RestController
public class TestController {
    @Value("javaclass")
    private String myconfig;

    @RequestMapping("/test/sayhi")
    public String sayHi(){
        return "hello world ->" + myconfig;
    }
}
  • 可以看到,我們?cè)陧撁嬷蝎@取到的并不是 javaclass 所對(duì)應(yīng)的value值,而是key值,這就使得很多同學(xué)產(chǎn)生了疑惑?

Spring Boot配置文件:properties 與 yml 的競爭,# Spring Boot,spring boot,后端,配置文件

這里我們來談?wù)?code>value值正確的讀取方法:@Value 注解使?“${}”的格式讀取

  • 也就是要寫成下面這樣的形式??
@Value("${javaclass}")    // 一定要是 ${key} 的格式
  • 然后我們?cè)賮碓L問讀取一下看看便可以發(fā)現(xiàn)讀取到了對(duì)應(yīng)的value

Spring Boot配置文件:properties 與 yml 的競爭,# Spring Boot,spring boot,后端,配置文件

  • 我們?cè)賮碓囋囎x取剛才所修改的讀取服務(wù)器的啟動(dòng)端口
@Value("${server.port}")

Spring Boot配置文件:properties 與 yml 的競爭,# Spring Boot,spring boot,后端,配置文件

3、properties 缺點(diǎn)分析

經(jīng)過上面一系列的查看,我們來對(duì)properties 這個(gè)格式的文件來分析一下

  • 在這之前我們?cè)偃プ鲆粋€(gè)測試,也就是 在properties文件 中寫入中文的value值,然后去訪問一下看看會(huì)有什么問題
mytest=測試properties文件
  • 然后重啟項(xiàng)目去訪問卻發(fā)現(xiàn)我們并沒有獲取到這幾個(gè)文字,而是出現(xiàn)了亂碼的形式,只有英文properties可以看得清楚,而且這是在我的 IDEA配置文件已經(jīng)設(shè)置了UTF-8的字符集之后

Spring Boot配置文件:properties 與 yml 的競爭,# Spring Boot,spring boot,后端,配置文件

然后我們?cè)俑鶕?jù)兩個(gè)不同是配置文件來看看它們之間的書寫區(qū)別

Spring Boot配置文件:properties 與 yml 的競爭,# Spring Boot,spring boot,后端,配置文件
Spring Boot配置文件:properties 與 yml 的競爭,# Spring Boot,spring boot,后端,配置文件

于是我們便觀察到了在properties文件中存在著很多重復(fù)的內(nèi)容

Spring Boot配置文件:properties 與 yml 的競爭,# Spring Boot,spring boot,后端,配置文件
?? 此時(shí)我們便可以得出properties文件的兩個(gè)缺陷

  1. 如果在配置文件中出現(xiàn)中文的話,在訪問時(shí)就會(huì)出現(xiàn)亂碼問題
  2. properties 配置?件中會(huì)有很多的冗余的信息

三、.yml 配置文件

1、yml文件誕生的背景

那么這個(gè)時(shí)候,就輪到我們的.yml文件出場了,我們一起來看看它是怎么誕生的吧??

  • 舉一個(gè)很簡單的例子,本專欄我們介紹的是【Spring Boot】,很多學(xué)習(xí)Java的同學(xué)相信一定聽說過【Spring Cloud】,這個(gè)呢就是我們現(xiàn)在業(yè)界所稱的 微服務(wù),其實(shí)在早期 Spring Cloud 沒出來的時(shí)候【Spring Boot】它就是一種微服務(wù),那我們便可以來談?wù)劄槭裁匆形⒎?wù)的出現(xiàn)呢?

    Spring Boot配置文件:properties 與 yml 的競爭,# Spring Boot,spring boot,后端,配置文件

  • 原因就在于:隨著團(tuán)隊(duì)的變大,不同業(yè)務(wù)部門有相同需求,所以要把原來的功能分成多個(gè)不同的模塊。例如我們一個(gè)教育部門中的教務(wù)管理系統(tǒng),原本在比較小型的時(shí)候之后一兩個(gè)功能,那可以將這些模塊都寫在一起,但是當(dāng)功能慢慢地增多,出現(xiàn)了:

    • 用戶中心
    • 商城中心
    • 積分中心
  • 此時(shí)我們就要考慮到微服務(wù)了,將這些模塊作為一個(gè)個(gè)功能給單獨(dú)提取出來,便可以 實(shí)現(xiàn)很好地解耦,減少代碼的維護(hù)成本

  • 而且在一個(gè)項(xiàng)目中,我們不僅僅只是使用到一門編程語言,可能會(huì)有多個(gè),那么運(yùn)維在進(jìn)行維護(hù)的時(shí)候,可能會(huì)收到使用不同編程語言所描述的程序,這就會(huì)對(duì)運(yùn)維的要求很高,所以需要一個(gè)通用的配置文件去解決這些問題 —— 此時(shí)就有了yml配置文件的誕生

我們來yml文件優(yōu)點(diǎn):

  1. yml 是?個(gè)可讀性?,寫法簡單、易于理解,它的語法和JSON語?類似
  2. yml ?持更多的數(shù)據(jù)類型,它可以簡單表達(dá)清單(數(shù)組)、散列表,標(biāo)量等數(shù)據(jù)形態(tài)。它使?空?符號(hào)縮進(jìn)和?量依賴外觀的特?,特別適合?來表達(dá)或編輯數(shù)據(jù)結(jié)構(gòu)、各種配置?件等
  3. yml ?持更多的編程語?,它不?是 Java 中可以使?在 Golang、PHP、Python、Ruby、
    JavaScript、Perl

2、yml 基本語法

了解了 yml文件的誕生背景以及其優(yōu)點(diǎn)之后,我們來學(xué)習(xí)一下它的基本語法

  • yml 是樹形結(jié)構(gòu)的配置?件,它的基礎(chǔ)語法是key: value,注意 key 和 value 之間使?英?冒號(hào)加空格的?式組成的,其中的空格不可省略

我們來看一下它的正確與錯(cuò)誤配置格式:

Spring Boot配置文件:properties 與 yml 的競爭,# Spring Boot,spring boot,后端,配置文件

使用yml格式的文件去連接MySQL數(shù)據(jù)庫的代碼如下:

spring:
 datasource:
     url: jdbc:mysql://127.0.0.0:3306/dbname?characterEncoding=utf8
     username: root
     password: 123456

3、yml 使用進(jìn)階

當(dāng)然yml可不僅僅只有以下這些功能,我們?cè)賮磉M(jìn)階地學(xué)習(xí)一下

3.1 yml 配置不同數(shù)據(jù)類型及 null

# 字符串
string.value: Hello
# 布爾值,true或false
boolean.value: true
boolean.value1: false
# 整數(shù)
int.value: 10
int.value1: 0b1010_0111_0100_1010_1110 # ?進(jìn)制
# 浮點(diǎn)數(shù)
float.value: 3.14159
float.value1: 314159e-5 # 科學(xué)計(jì)數(shù)法
# Null,~代表null
null.value: ~

3.2 yml 配置讀取

yml 讀取配置的?式和 properties 相同,使? @Value 注解即可分級(jí)目錄下的內(nèi)容讀取不用 : 也是用.

① 普通讀取

  • 首先的話我們來看看普通地去進(jìn)行讀取是怎么樣的
@Value("${string.hello}")
private String hello;

Spring Boot配置文件:properties 與 yml 的競爭,# Spring Boot,spring boot,后端,配置文件

② 特殊讀取:value 值加單雙引號(hào)

  • 字符串默認(rèn)不?加上單引號(hào)或者雙引號(hào)
  • 單引號(hào)會(huì)轉(zhuǎn)義特殊字符,特殊字符最終只是?個(gè)普通的字符串?dāng)?shù)據(jù)
  • 雙引號(hào)不會(huì)轉(zhuǎn)義字符串??的特殊字符;特殊字符會(huì)作為本身想表示的意思

以下是測試代碼:

mystr1: 你\n好      # 所見即所得
mystr2: '你\n好'    # 所見即所得
mystr3: "你\n好"    # 一一輸出字符串內(nèi)部的東西
@Value("${mystr1}")
private String mystr1;

@Value("${mystr2}")
private String mystr2;

@Value("${mystr3}")
private String mystr3;

@PostConstruct	// 在spring容器啟動(dòng)的時(shí)候執(zhí)行, 可以做一些初始化的工作
public void doPostConstruct(){
    System.out.println("---------------------------------");
    System.out.println(mystr1);
    System.out.println(mystr2);
    System.out.println(mystr3);
    System.out.println(hello);
    System.out.println("---------------------------------");
}
  • 可以看到,在打印輸出后我們可以看到面對(duì)默認(rèn)字符串(中文不會(huì)有問題哦~)和 單引號(hào)字符串 就是打印原先的內(nèi)容
  • 但是對(duì)于 雙引號(hào)字符串 便不會(huì)轉(zhuǎn)義字符串??的特殊字符,而是連\n也照樣地打印出來,所以就出現(xiàn)了換行的現(xiàn)象

Spring Boot配置文件:properties 與 yml 的競爭,# Spring Boot,spring boot,后端,配置文件

③ 讀取配置對(duì)象

對(duì)于【配置對(duì)象】來說,我們不可以用@Value來讀取配置中的對(duì)象,要使用另一個(gè)注解@ConfigurationProperties

  • 當(dāng)對(duì)象隨著SpringBoot的啟動(dòng)而啟動(dòng)時(shí),發(fā)現(xiàn)有@ConfigurationProperties這個(gè)注解,那Spring就會(huì)知道有人讓我去讀取這個(gè)類,

我們現(xiàn)在配置文件中寫入這個(gè)對(duì)象

# 配置對(duì)象的寫入
student:
  id: 1
  name: zhangsan
  age: 18

然后我們?nèi)?chuàng)建一個(gè)實(shí)體類進(jìn)行測試,記得加上@Component@Data注解哦~

@ConfigurationProperties("student")
@Component  // 存對(duì)象:將當(dāng)前的類托管給Spring, 此時(shí)就可以觸發(fā)注解
@Data	// 獲取到Get和Set方法
public class StudentComponent {
    private int id;
    private String name;
    private int age;
}

最后在TestController類中將 StudentComponent類 的對(duì)象通過@Autowired依賴注入交給Spring去管理

@Autowired	// 取對(duì)象:從Spring中去讀取到對(duì)象
private StudentComponent studentComponent;

@PostConstruct
public void doPostConstruct(){
    System.out.println("---------------------------------");
    System.out.println(studentComponent);
}

Spring Boot配置文件:properties 與 yml 的競爭,# Spring Boot,spring boot,后端,配置文件
④ 讀取配置集合

# 配置集合的寫入
dbtypes:
	name:
        - mysql
        - sqlserver
        - db2

或者是使??內(nèi)寫法(與上?的寫法作??致):

dbtypes: {name: [mysql,sqlserver,db2]}

集合的讀取和對(duì)象?樣,也是使? @ConfigurationProperties 來讀取的,具體實(shí)現(xiàn)如下:

@ConfigurationProperties("dbtypes")
@Component
@Data
public class ListConfig {
    private List<String> name;
}
@Autowired
private ListConfig listConfig;

System.out.println(listConfig.getName());

然后我們便可以看到,我們也順利地讀取到了集合中的所有對(duì)象:

Spring Boot配置文件:properties 與 yml 的競爭,# Spring Boot,spring boot,后端,配置文件

?? 想要查看 Spring Boot 更多系統(tǒng)配置項(xiàng),訪問 官?


經(jīng)典面試題:properties VS yml

接下去我們來看一道有關(guān)Spring Boot配置文件很經(jīng)典的面試題:properties 與 yml 格式文件的區(qū)別

  • properties 是以 key=value 的形式配置的鍵值類型的配置?件,? yml 使?的是類似json格式的樹形配置?式進(jìn)?配置的,yml 層級(jí)之間使?換?縮進(jìn)的?式配置,key 和 value 之間使?“: ”英?冒號(hào)加空格的?式設(shè)置,并且空格不可省略。
  • properties 為早期并且默認(rèn)的配置?件格式,但其 配置存在?定的冗余數(shù)據(jù),使? yml 可以很好的解決數(shù)據(jù)冗余的問題
  • yml 通?性更好,?持更多語?,如 Java、Go、Python 等,如果是云服務(wù)器開發(fā),可以使??份配置?件作為 Java 和 Go 的共同配置?件
  • yml ?持更多的數(shù)據(jù)類型

附錄

除了講解上面的一些基礎(chǔ)知識(shí)外,我們?cè)賮硗卣寡由煲幌?/p>

Spring Boot 讀取配置?件的 N 種?法

更多系統(tǒng)配置項(xiàng)

?? 再來講一種企業(yè)里對(duì)于配置文件的定義是怎樣的

  1. 創(chuàng)建不同環(huán)境的配置?件:
    • application.yml —— 主配置文件(存放的是公共的配置項(xiàng))
    • application-dev.yml —— 開發(fā)環(huán)境
    • application-prod.yml —— 生產(chǎn)環(huán)境
    • application-test.yml —— 測試環(huán)境

給大家看看企業(yè)中的大項(xiàng)目都是怎樣的,都是有多個(gè)配置文件的

Spring Boot配置文件:properties 與 yml 的競爭,# Spring Boot,spring boot,后端,配置文件

  1. 在 application.yml 中設(shè)置運(yùn)?環(huán)境

從上面企業(yè)級(jí)別的開發(fā)我們可以看出對(duì)于多個(gè)環(huán)境,它們的文件名大致是不變的,變的只是一些特殊的地方,我們只要注意這些就好了,以下是配置文件的命名規(guī)則:

① 必須有主配置文件,主配置文件名必須是 application.yml(.properties)
② 不同平臺(tái)的配置文件,每個(gè)平臺(tái)擁有一個(gè)配置文件,配置文件的名稱有要求 application-xxx.yml

我們自己去模擬一下試試,這里先給出需求:

  • 開發(fā)環(huán)境端口號(hào):6666
  • 測試環(huán)境端口號(hào):7777
  • 生產(chǎn)環(huán)境端口號(hào):8888

然后我們便根據(jù)這個(gè)規(guī)則去配置一下各個(gè)環(huán)境的啟動(dòng)端口號(hào)吧

# 配置application-dev.yml的啟動(dòng)端口號(hào)
server:
  port: 6666
# 配置application-dev.yml的啟動(dòng)端口號(hào)
server:
  port: 7777
# 配置application-dev.yml的啟動(dòng)端口號(hào)
server:
  port: 8888

最后我們?nèi)ブ鞯呐渲梦募O(shè)置當(dāng)前活躍的環(huán)境

spring:
  profiles:
    active:
      - dev

接下去我們重新啟動(dòng)項(xiàng)目來看看啟動(dòng)端口號(hào)是否發(fā)生了變化

Spring Boot配置文件:properties 與 yml 的競爭,# Spring Boot,spring boot,后端,配置文件

然后我再將活躍的環(huán)境改為prod生產(chǎn)環(huán)境之后,啟動(dòng)端口號(hào)又發(fā)生了一些變化

spring:
  profiles:
    active:
      - prod

Spring Boot配置文件:properties 與 yml 的競爭,# Spring Boot,spring boot,后端,配置文件
?? 以上就是我們對(duì)于企業(yè)當(dāng)中配置文件的一些設(shè)置,讀者可以自己去試試

四、總結(jié)與提煉

最后來總結(jié)一下本文所學(xué)習(xí)的內(nèi)容??

  • 首先我們先學(xué)習(xí)了一下什么是配置文件,以及它的作用與其在Spring Boot中的兩種格式.properties.yml,總覽地對(duì)比了一下兩種文件格式有何不同
  • 接下去我們分開地去介紹了一下這兩種文件:
    • 對(duì)于.properties文件來說,它雖然書寫格式簡單明確,不容易出錯(cuò),但是呢存在著【亂碼問題】和【冗余的信息】這兩塊缺點(diǎn),所以我們推出了.yml文件
    • 對(duì)于.yml文件來說呢,它就有著很多的優(yōu)點(diǎn)了:
      1. yml 是?個(gè)可讀性?,寫法簡單、易于理解,它的語法和JSON語?類似
      2. yml ?持更多的數(shù)據(jù)類型,它可以簡單表達(dá)清單(數(shù)組)、散列表,標(biāo)量等數(shù)據(jù)形態(tài)。它使 ?空?符號(hào)縮進(jìn)和?量依賴外觀的特?,特別適合?來表達(dá)或編輯數(shù)據(jù)結(jié)構(gòu)、各種配置?件等
      3. yml ?持更多的編程語?,它不?是 Java 中可以使?在 Golang、PHP、Python、Ruby、JavaScript、Perl
    • 那么對(duì)于.yml文件,我們還學(xué)習(xí)了一些進(jìn)階的內(nèi)容,知道了如何去讀取 普通內(nèi)容、value 值加單雙引號(hào)的內(nèi)容、配置對(duì)象以及配置集合 這些
  • 然后我們看了一道經(jīng)典的面試題:properties VS yml ,知道它們之間的區(qū)別在哪里了嗎?
  • 在最后我們又介紹到了在企業(yè)當(dāng)中配置文件在不同環(huán)境下如何去進(jìn)行設(shè)置,三種環(huán)境分別是:application-dev.yml 、application-prod.yml、application-test.yml

以上就是本文要介紹的所有內(nèi)容,感謝您的閱讀??????

Spring Boot配置文件:properties 與 yml 的競爭,# Spring Boot,spring boot,后端,配置文件文章來源地址http://www.zghlxwxcb.cn/news/detail-766125.html

到了這里,關(guān)于Spring Boot配置文件:properties 與 yml 的競爭的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Spring Boot Application.properties和yaml配置文件

    Spring Boot Application.properties和yaml配置文件

    全局配置文件能夠?qū)σ恍┠J(rèn)配置值進(jìn)行修改。Spring Boot使用一個(gè)application.properties或者application.yaml的文件作為全局配置文件,該文件存放在src/main/resource目錄或者類路徑的/config,一般會(huì)選擇resource目錄。 使用Spring Initializr方式創(chuàng)建項(xiàng)目——PropertiesDemo 單擊【Next】按鈕 添加W

    2024年01月24日
    瀏覽(25)
  • 在Idea編輯中,解決Spring Boot之.yaml或.properties配置文件不能自動(dòng)提示的問題,或者配置Spring Boot的.yaml或.properties文件的自動(dòng)提示

    在Idea編輯中,解決Spring Boot之.yaml或.properties配置文件不能自動(dòng)提示的問題,或者配置Spring Boot的.yaml或.properties文件的自動(dòng)提示

    我們使用 idea 編輯器創(chuàng)建 spring boot 項(xiàng)目,并添加了 .yaml 或 .properties 配置文件后,在配置相關(guān)信息時(shí),一般是需要它自動(dòng)提示,如下圖所示: 然而,我在配置 druid 卻沒有顯示,如下如所示: 那么,這是怎么回事呢? 參考網(wǎng)上的教程,使用如下4個(gè)步驟分析。 使用 CTRL + ALT

    2024年02月16日
    瀏覽(28)
  • Spring Boot微服務(wù)從yml文件中加載配置(使用@Value和@ConfigurationProperties)

    記錄 :398 場景 :在Spring Boot的微服務(wù)中從application.yml等yml文件中加載自定義配置內(nèi)容。使用@Value直接加載單個(gè)配置。使用@ConfigurationProperties注解把一個(gè)或者多個(gè)配置加載為Java對(duì)象。 版本 :JDK 1.8,SpringBoot 2.6.3 1.使用@Value注解加載配置 使用注解@RestController、@Service、@Component等

    2024年02月12日
    瀏覽(21)
  • 聊聊Spring Boot配置文件:優(yōu)先級(jí)順序、加載順序、bootstrap.yml與application.yml區(qū)別詳解

    在 Spring Boot 中,配置文件的優(yōu)先級(jí)順序是: application-{profile}.yml ( application-{profile}.properties ) application.yml ( application.properties ) bootstrap.yml ( bootstrap.properties )。其中, {profile} 表示不同的環(huán)境配置,如 dev 、 test 、 prod 等。 優(yōu)先級(jí)從高到低,高優(yōu)先級(jí)的配置覆蓋低優(yōu)先級(jí)

    2024年01月25日
    瀏覽(31)
  • Spring Boot @Value讀不到Nacos配置中心的值。(properties配置文件)

    Spring Boot @Value讀不到Nacos配置中心的值。(properties配置文件)

    讀不到配置中心的值, 配置中心的配置文件名字(Data ID的值)要以.properties結(jié)尾。 如果是yaml,就以yaml命名。

    2024年02月07日
    瀏覽(34)
  • Spring Boot入門(03): yaml、properties配置文件介紹及使用 | 超級(jí)詳細(xì),建議收藏

    Spring Boot入門(03): yaml、properties配置文件介紹及使用 | 超級(jí)詳細(xì),建議收藏

    ????????在軟件開發(fā)中,配置文件是一項(xiàng)非常重要的內(nèi)容。它們通常用于存儲(chǔ)應(yīng)用程序的各種設(shè)置和配置選項(xiàng),包括數(shù)據(jù)庫連接信息、日志級(jí)別、Web服務(wù)器端口、安全認(rèn)證密鑰等等。在不同的環(huán)境(例如開發(fā)、測試、生產(chǎn))中,這些配置文件可能會(huì)有所不同。因此,良好的

    2024年02月11日
    瀏覽(84)
  • 17.Spring Boot加載指定YML文件

    Spring Boot專欄目錄(點(diǎn)擊進(jìn)入…) Spring Boot默認(rèn)支持properties和yml配置文件的讀取,前者格式簡單,但是只支持鍵值對(duì)。如果需要表達(dá)列表,最好使用YAML格式。 Spring Boot支持自動(dòng)加載約定名稱的配置文件,僅支持指定路徑下指定名稱的配置文件;例如application.yml。當(dāng)自定義指定

    2024年02月10日
    瀏覽(31)
  • Spring的配置文件,如何配置端口號(hào),,properties,yml獲取配置項(xiàng)等方法,外觀模式及其優(yōu)缺點(diǎn),日志代表的信息

    Spring的配置文件,如何配置端口號(hào),,properties,yml獲取配置項(xiàng)等方法,外觀模式及其優(yōu)缺點(diǎn),日志代表的信息

    目錄 一、回顧 二.如何配置端口號(hào) 配置文件,最重要的目的:解決硬編碼問題-代碼寫死 1.常見配置項(xiàng) yml獲取配置項(xiàng) 多次獲取配置項(xiàng)(yml會(huì)對(duì)我們的參數(shù)情況,進(jìn)行的一定類型轉(zhuǎn)換比如數(shù)字10,轉(zhuǎn)換成“10”) null:使用key后面+-(破折號(hào)) 空字符串:key后面之間空著,但是不易讀

    2024年02月04日
    瀏覽(19)
  • SpringBoot支持bootstrap.yml/bootstrap.properties配置文件,需要導(dǎo)入spring-cloud-starter-bootstrap依賴

    說明: 在SpringBoot 2.4.x版本之后,對(duì)于bootstrap.properties/bootstrap.yaml配置文件的支持,需要導(dǎo)入如下依賴: 注意: 1、導(dǎo)入依賴后,還需要開啟?spring.cloud.bootstrap.enabled=true 2、spring cloud starter alibaba nacos config,引用這個(gè)配置中心的依賴后,需要使用bootstrap.yml或bootstrap.properties?作

    2024年02月13日
    瀏覽(21)
  • 【Spring Boot】Spring Boot配置文件詳情

    【Spring Boot】Spring Boot配置文件詳情

    ?Spring Boot是一個(gè)開源的Java框架,用于快速構(gòu)建應(yīng)用程序和微服務(wù)。它基于Spring Framework,通過自動(dòng)化配置和約定優(yōu)于配置的方式,使開發(fā)人員可以更快地啟動(dòng)和運(yùn)行應(yīng)用程序。Spring Boot提供了許多開箱即用的功能和插件,包括嵌入式Web服務(wù)器、安全性、數(shù)據(jù)訪問、緩存、測試

    2024年02月12日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包