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

【SpringBoot】?jī)煞N配置文件, 詳解 properties 和 yml 的語法格式, 使用方式, 讀取配置

這篇具有很好參考價(jià)值的文章主要介紹了【SpringBoot】?jī)煞N配置文件, 詳解 properties 和 yml 的語法格式, 使用方式, 讀取配置。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。


前言

各位讀者好, 我是小陳, 這是我的個(gè)人主頁(yè), 希望我的專欄能夠幫助到你:
?? JavaSE基礎(chǔ): 基礎(chǔ)語法, 類和對(duì)象, 封裝繼承多態(tài), 接口, 綜合小練習(xí)圖書管理系統(tǒng)等
?? Java數(shù)據(jù)結(jié)構(gòu): 順序表, 鏈表, 堆, 二叉樹, 二叉搜索樹, 哈希表等
?? JavaEE初階: 多線程, 網(wǎng)絡(luò)編程, TCP/IP協(xié)議, HTTP協(xié)議, Tomcat, Servlet, Linux, JVM等(正在持續(xù)更新)

【SpringBoot】?jī)煞N配置文件, 詳解 properties 和 yml 的語法格式, 使用方式, 讀取配置,JavaEE進(jìn)階,spring boot,java,配置文件,properties,yml


提示:是正在努力進(jìn)步的小菜鳥一只,如有大佬發(fā)現(xiàn)文章欠佳之處歡迎批評(píng)指點(diǎn)~ 廢話不多說,直接上干貨!

一、配置文件的作用

項(xiàng)目中很多重要的數(shù)據(jù)都是在配置文件中配置的, 比如:

  • 數(shù)據(jù)庫(kù)的連接信息
  • 項(xiàng)目的啟動(dòng)端口
  • 第三方系統(tǒng)的調(diào)用秘鑰等信息
  • 設(shè)置日志打印級(jí)別, 設(shè)置保存日志的路徑, 發(fā)現(xiàn)和定位問題的普通日志和異常日志

就拿第一條來說, 如果你的項(xiàng)目中沒有配置文件, 那你怎么連接到你要使用的數(shù)據(jù)庫(kù)呢?


二、兩種配置文件格式

SpringBoot 中主要有兩種配置文件格式 : properties 和 yml(YAML)

  • properties 是默認(rèn)的配置文件格式, 項(xiàng)目創(chuàng)建好之后就存在
    【SpringBoot】?jī)煞N配置文件, 詳解 properties 和 yml 的語法格式, 使用方式, 讀取配置,JavaEE進(jìn)階,spring boot,java,配置文件,properties,yml
  • 要想使用 yml 格式, 可以在 resource 目錄下手動(dòng)創(chuàng)建, 命名為xxx.yml
    【SpringBoot】?jī)煞N配置文件, 詳解 properties 和 yml 的語法格式, 使用方式, 讀取配置,JavaEE進(jìn)階,spring boot,java,配置文件,properties,yml

理論上講 properties 可以和 yml ?起存在于?個(gè)項(xiàng)目當(dāng)中, 但是當(dāng) properties 和 yml ?起存在?個(gè)項(xiàng)目中時(shí), 如果配置文件中出現(xiàn)了同樣的配置, 比如 properties 和 yml 中都配置了 “server.port(端口號(hào))”, 那么會(huì)以 properties 中的配置為主, 但加載
完 properties 文件之后, 也會(huì)加載 yml 文件的配置信息

雖然理論上來講 properties 可以和 yml 共存, 但實(shí)際的業(yè)務(wù)當(dāng)中, 通常會(huì)采取其中?種統(tǒng)?的配置文件格式, 這樣可以更好的維護(hù)(降低故障率)


1, properties 格式語法

properties 是以鍵值的形式配置的,key 和 value 之間是以 “=” 連接的

使用 # 添加注釋

# 配置項(xiàng)目啟動(dòng)端口號(hào), (默認(rèn)就是8080, 因?yàn)?span id="n5n3t3z"    class="token class-name">SpringBoot內(nèi)嵌了tomcat, 但你可以修改成任其他端口號(hào))
server.port=8080
# 配置日志的級(jí)別
logging.level.root=info
# 配置日志的保存路徑和名稱
logging.file.path=D:/log_path
logging.file.name=D:/log_path/springboot1.log
# 設(shè)置MySQL的鏈接信息
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/要使用的數(shù)據(jù)庫(kù)的庫(kù)名?characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=連接的數(shù)據(jù)庫(kù)的密碼
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# 設(shè)置MyBatisXML保存路徑和命名
mybatis.mapper-locations=classpath:mybatis/*Mapper.xml

這些配置項(xiàng)都是系統(tǒng)配置項(xiàng), 看不懂沒關(guān)系, 后續(xù)文章會(huì)在使用這些配置項(xiàng)時(shí)再說明
更多系統(tǒng)配置項(xiàng)可點(diǎn)擊查看官方文檔

以上都是常用的系統(tǒng)配置項(xiàng), 但程序員甚至可以自己自定義配置項(xiàng), 下面會(huì)介紹系統(tǒng)配置項(xiàng)和自定義配置項(xiàng)的讀取方式

# 自定義配置
name=張三
age=20
imagepath=D:\\image\\

2, properties 格式缺點(diǎn)

上述配置項(xiàng)中有這么一段 :

# 設(shè)置MySQL的鏈接信息
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/要使用的數(shù)據(jù)庫(kù)的庫(kù)名?characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=連接的數(shù)據(jù)庫(kù)的密碼
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

你會(huì)發(fā)現(xiàn), 這幾行都是 spring.datasource 開頭的, 這就造成一定程度的代碼冗余, 寫起來比較麻煩, yml 就解決了這一缺點(diǎn)


3, yml 格式語法

yml 是 YAML 是縮寫, 它的全稱 Yet Another Markup Language 翻譯成中文是“另?種標(biāo)記語言”
yml 格式的優(yōu)點(diǎn) :

  1. yml 是?個(gè)可讀性高, 寫法簡(jiǎn)單、易于理解(我不這么認(rèn)為hhh), 它的語法和 JSON 語?類似
  2. yml ?持更多的數(shù)據(jù)類型, 它可以簡(jiǎn)單表達(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 中也適用

yml 是樹形結(jié)構(gòu)的配置文件, 它的基礎(chǔ)語法是“key: value”, 注意 key 和 value 之間使用英文冒號(hào)加空格的方式組成的, 其中的空格不可省略
【SpringBoot】?jī)煞N配置文件, 詳解 properties 和 yml 的語法格式, 使用方式, 讀取配置,JavaEE進(jìn)階,spring boot,java,配置文件,properties,yml
使用 yml 配置數(shù)據(jù)庫(kù)連接信息 :

spring:
  datasource:
  	url: jdbc:mysql://127.0.0.0:3306/要使用的數(shù)據(jù)庫(kù)的庫(kù)名?characterEncoding=utf8
 	username: root
  	password: 數(shù)據(jù)庫(kù)的密碼

在 java 代碼中一個(gè) Tab 鍵是 4 個(gè)格符, 但在這個(gè) yml 文件中一個(gè) Tab 鍵是 2 個(gè)空格符


4, yml 格式缺點(diǎn)

如果配置項(xiàng)信息比較多, 我認(rèn)為反而不易于讀寫(寫法不如 properties 那么簡(jiǎn)單)
一旦 key 和 value 忘記了加空格, 或者帶有層級(jí)的配置項(xiàng)忘記了換行, 換行的位置不對(duì), 就會(huì)導(dǎo)致配置失敗, 因此不適合新手使用


5, yml 支持更多類型

# 字符串
str1: 你好 \n 你好
str2: '你好 \n 你好' 
str3: "你好 \n 你好"
# 布爾值
flag1: true
flag2: false
# 整數(shù)
num: 10
# 浮點(diǎn)數(shù)
f: 6.666
# null ~代表null
Node: ~

字符串默認(rèn)不需要加上單引號(hào)或者雙引號(hào)
單引號(hào)時(shí), 轉(zhuǎn)義字符無效, /n 就當(dāng)作字符串 “/n”, 雙引號(hào)時(shí), 轉(zhuǎn)義字符會(huì)生效, /n 就仍然表示換行

yml 還可以配置一個(gè)對(duì)象 :

# 對(duì)象
person:
  name: 張三
  age: 18
# 或者使用行內(nèi)寫法表示
student2: {id: 2,name: 李四, age: 15}

yml 還可以配置一個(gè) list 集合

# list集合
colortypes:
  color:
    - 紅色
    - 黃色
    - 藍(lán)色
# 或者使用行內(nèi)寫法 colortypes: {color:[紅色,黃色,藍(lán)色]}

三、配置文件的讀取

properties 和 yml 都使用 @Value(“${ key 值}”) 的方式可讀取對(duì)應(yīng)的 value 值

@RestController
public class TestController {
    @Value("${name}")  // 讀取用戶自定義的配置
    private String name;
 
    @Value("${server.port}")  //讀取系統(tǒng)配置項(xiàng)
    private int port;
}

yml 中如果自定義了類的配置信息, 不能使用 @Value , 而是使用 @ConfigurationProperties(“自定義的類名”), 讀取方式如下 :

@RestController
@ConfigurationProperties("person")//這里不需要使用$, 里面的值說yml里定義的類名
public class Person{
    //字段與yml里的名稱相同
    private String name;
    private int age;
    // 下面一定要寫 getter() 和 setter() ! ! ! 這里省略了
}

yml 中如果自定義了 list 集合的配置信息, 也使用 @ConfigurationProperties(“自定義的集合名稱”) , 讀取方式如下 :

@Component
@ConfigurationProperties("colortypes") // 引號(hào)里面的值是 yml 里自定義的集合名稱
public class TestList {
    private List<String> color;
    // 下面一定要寫 getter() 和 setter() ! ! ! 這里省略了
}

三、不同環(huán)境下的配置文件

企業(yè)里面的項(xiàng)目, 一般都有三個(gè)環(huán)境 : 開發(fā)環(huán)境, 測(cè)試環(huán)境, (發(fā)布之后)上線運(yùn)行環(huán)境, 不同環(huán)境下的配置信息可能不同, 為了避免每次更換環(huán)境都需要重新修改配置文件的代碼, SpringBoot 支持配置不同環(huán)境下的配置文件

因?yàn)橛锌赡茉谡缴暇€之前, 在開發(fā)環(huán)境和測(cè)試環(huán)境反復(fù)橫跳, 如果上線之后有嚴(yán)重 bug , 一般也得再走一遍流程才能再次發(fā)布上線

一般會(huì)再創(chuàng)建三個(gè)配置文件, 命名為 : application-xxx.properties(或.yml), 加上后綴 -xxx 表示不同環(huán)境下的命名區(qū)分, 一般使用 dev 表示生產(chǎn)環(huán)境, test 表示測(cè)試環(huán)境, pro 表示上線運(yùn)行環(huán)境

然后在一個(gè)公共的配置文件中標(biāo)識(shí)清楚當(dāng)前項(xiàng)目使用的是哪個(gè)配置文件(運(yùn)行在哪個(gè)環(huán)境下)
【SpringBoot】?jī)煞N配置文件, 詳解 properties 和 yml 的語法格式, 使用方式, 讀取配置,JavaEE進(jìn)階,spring boot,java,配置文件,properties,yml


總結(jié)

SpringBoot 提供了 properties 和 yml 這兩種配置文件格式, 前者語法格式為 key=value , 后者語法格式為 key冒號(hào)空格value, 這兩種格式都支持自定義配置項(xiàng)

properties 和 yml 的一般配置項(xiàng)使用 @Value(${key值}) 的方式讀取對(duì)應(yīng)的 value, yml 中的類或者集合配置項(xiàng), 使用 @ConfigurationProperties(“類或集合的名稱”)

以上就是本篇的所有內(nèi)容了, 如果本篇對(duì)你有幫助,請(qǐng)點(diǎn)贊收藏支持一下,小手一抖就是對(duì)作者莫大的鼓勵(lì)啦??????~


上山總比下山辛苦
下篇文章見

【SpringBoot】?jī)煞N配置文件, 詳解 properties 和 yml 的語法格式, 使用方式, 讀取配置,JavaEE進(jìn)階,spring boot,java,配置文件,properties,yml
文章來源地址http://www.zghlxwxcb.cn/news/detail-686250.html

到了這里,關(guān)于【SpringBoot】?jī)煞N配置文件, 詳解 properties 和 yml 的語法格式, 使用方式, 讀取配置的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(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)文章

  • springboot之一:配置文件(內(nèi)外部配置優(yōu)先順序+properties、xml、yaml基礎(chǔ)語法+profile動(dòng)態(tài)切換配置、激活方式)

    springboot之一:配置文件(內(nèi)外部配置優(yōu)先順序+properties、xml、yaml基礎(chǔ)語法+profile動(dòng)態(tài)切換配置、激活方式)

    Spring Boot是基于約定的,所以很多配置都有默認(rèn)值,但如果想使用自己的配置替換默認(rèn)配置的話,就可以使用application.properties或者application.yml(application.yaml)進(jìn)行配置。 注意配置文件的命名必須是application開頭。 在同一級(jí)目錄下優(yōu)先級(jí)為:properties yml yaml file:../config/ :當(dāng)前項(xiàng)目

    2024年02月10日
    瀏覽(11)
  • SpringBoot - 配置文件application.yml使用詳解(附:Profile多環(huán)境配置)

    SpringBoot - 配置文件application.yml使用詳解(附:Profile多環(huán)境配置)

    SpringBoot - 配置文件application.yml使用詳解(附:Profile多環(huán)境配置) 1,基本介紹 (1)YAML?是?JSON?的超集,簡(jiǎn)潔而強(qiáng)大,是一種專門用來書寫配置文件的語言,可以替代?application.properties。 (2)在創(chuàng)建一個(gè)?SpringBoot?項(xiàng)目時(shí),引入的?spring-boot-starter-web?依賴間接地引入了?s

    2024年02月08日
    瀏覽(34)
  • java-讀取配置文件自定義字段(yml、properties)

    java-讀取配置文件自定義字段(yml、properties)

    在springboot項(xiàng)目配置文件中設(shè)置自定義字段,項(xiàng)目代碼按需讀取,想換重要參數(shù)時(shí)直接更改配置文件即可,這篇文章說一說配置文件自定義字段的方法。 方法1 @Value 使用org.springframework.beans.factory.annotation包下的@Value注解讀取yml文件里面的字段,代碼如下: yml文件 讀取 測(cè)試結(jié)果

    2024年02月08日
    瀏覽(23)
  • Spring Boot配置文件:properties 與 yml 的競(jìng)爭(zhēng)

    Spring Boot配置文件:properties 與 yml 的競(jìng)爭(zhēng)

    本文,我們就要來介紹一下Spring Boot中的配置文件 ,在學(xué)習(xí)了本文之后,可以很清楚地知道如何在Spring Boot中去配置項(xiàng)目的一些系統(tǒng)設(shè)置 首先我們先來聊聊什么是配置文件? 配置文件是一種 文本文件 ,通常用于存儲(chǔ)程序的參數(shù)和設(shè)置。它包含了程序運(yùn)行所需的各種選項(xiàng)和配

    2024年02月04日
    瀏覽(28)
  • 微服務(wù): 04-springboot中rabbitmq的yml或properties配置,消息回收,序列化方式

    微服務(wù): 04-springboot中rabbitmq的yml或properties配置,消息回收,序列化方式

    目錄 1. 本文簡(jiǎn)介:? 1.1 java序列化的缺點(diǎn) --- 1.1.1 無法跨語言 ---1.1.2? 易被攻擊 --- 1.1.3 序列化后的流太大 --- 1.1.4 序列化性能太差 2. 配置總覽 2.1? 基礎(chǔ)配置 ?2.2?連接重試配置 ?2.3? 異常重試機(jī)制 2.4 確認(rèn)模式(本篇是自動(dòng)) ?--- 2.4.1 如圖所示 2.5 發(fā)送確認(rèn)設(shè)置 ?--- 2.5.1 參數(shù)解釋

    2024年02月04日
    瀏覽(18)
  • 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案例-配置文件-yml配置文件

    SpringBoot案例-配置文件-yml配置文件

    SpringBoot提供了多種屬性配置方式 application.properties application.yml application.yaml 常見配置文件格式對(duì)比 XML(臃腫) properties(層級(jí)結(jié)構(gòu)不夠清晰) yml/yaml( 簡(jiǎn)潔,以數(shù)據(jù)為中心, 推薦使用 ) 基本語法 大小寫敏感 數(shù)值前必須有空格 ,作為分隔符 使用縮進(jìn)表示層級(jí)關(guān)系,縮進(jìn)時(shí)

    2024年02月11日
    瀏覽(19)
  • java springboot yml文件配置 多環(huán)境yml

    java springboot yml文件配置 多環(huán)境yml

    如果是properties改用yml,直接新增一個(gè) .yml ,刪除原 .properties?,系統(tǒng)會(huì)自動(dòng)掃描 application.properties 和 application.yml文件(如果同時(shí)存在兩個(gè)文件,則會(huì)優(yōu)先使用.properties文件?)。?注意:改了之后 需要maven 命令 clean一下 ,清個(gè)緩存。 一、yml多環(huán)境 如果需要配置多環(huán)境的配置

    2024年02月15日
    瀏覽(29)
  • 17、YML配置文件及讓springboot啟動(dòng)時(shí)加載我們自定義的yml配置文件的幾種方式

    17、YML配置文件及讓springboot啟動(dòng)時(shí)加載我們自定義的yml配置文件的幾種方式

    其實(shí)本質(zhì)和.properties文件的是一樣的。 Spring Boot默認(rèn)使用SnakeYml工具來處理YAML配置文件,SnakeYml工具默認(rèn)就會(huì)被spring-boot-starter導(dǎo)入,因此無需開發(fā)者做任何額外配置。 YAML本質(zhì)是JSON的超級(jí),它在表示結(jié)構(gòu)化文檔時(shí)更有表現(xiàn)力。 ▲ properties文件使用 .分隔符 作為結(jié)構(gòu)化的表現(xiàn):

    2024年02月14日
    瀏覽(29)
  • SpringBoot配置文件application.yml的理解

    SpringBoot配置文件application.yml的理解

    一、存放位置分類 1.當(dāng)前項(xiàng)目根目錄下的config目錄下 2.當(dāng)前項(xiàng)目的根目錄下 3.resources目錄下的config目錄下 4.resources目錄下 按照這上面的順序,4個(gè)配置文件的優(yōu)先級(jí)依次降低。 ?二、自定義存放位置和自定義命名 自定義存放位置和自定義配置文件命令和application.properties配置類

    2024年02月09日
    瀏覽(20)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包