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

Spring?Boot配置文件的語法規(guī)則詳解(properties和yml)

 更新時間:2024年07月22日 12:13:55   作者:代碼小娥  
這篇文章主要介紹了Spring?Boot配置文件的語法規(guī)則,主要介紹兩種配置文件的語法和格式,properties和yml,對于配置文件也有獨立的文件夾存放,主要用來存放一些需要經(jīng)過變動的數(shù)據(jù)(變量值),感興趣的朋友跟隨小編一起看看吧

主要介紹兩種配置文件的語法和格式,properties和yml

1.配置文件的作用

對于配置文件,也有獨立的文件夾去存放,主要用來存放一些需要經(jīng)過變動的數(shù)據(jù)(變量值);后續(xù)這些變量的值需要改變的話,直接在配置文件中修改值即可,就不需要一個個變量去修改了。

通常需要存放在配置文件中的數(shù)據(jù)

(1)項目的啟動端口

(2)數(shù)據(jù)庫的連接信息(如:用戶名和密碼)

(3)第三方系統(tǒng)的調(diào)用密鑰等信息(如:驗證當(dāng)前客戶端是否正確)

(4)用于發(fā)現(xiàn)和定位問題的普通日志和異常日志等

概念聽起來都很很迷糊,我們直接開始教學(xué)

2.創(chuàng)建配置文件

這個還需要教嗎?當(dāng)然需要。

(1)創(chuàng)建文件的位置

當(dāng)項目創(chuàng)建好之后,一般都會默認(rèn)存在application.properties這個配置文件,下面的application.yml是我后面創(chuàng)建的。

(2)創(chuàng)建文件的名字

名字是很固定的,必須是:application.properties或者application.yml,這兩個都是配置文件的格式,一般我們使用其中一個即可(一般yml使用的較多)。還有一種是application.yaml,這種其實是yml的縮寫,所以我們就不會多介紹了。

(3)當(dāng)項目中properties和yml都存在,并且里面的內(nèi)容沖突時,會以properties中的為配置項,也就是其優(yōu)先級更高

3.properties語法

首先,我們先認(rèn)識一下界面

雙擊點開:

我們就會來到這個頁面,就在這個頁面就行編寫配置內(nèi)容

(1)語法格式

通過上面我們可以看到,通過=連接。

語法規(guī)則:key和value之間通過=連接,key和key之間使用.連接

=左邊的就是key,=右邊的是value,在獲取配置文件時,需要填入完整的key。

在配置文件中,使用#號進(jìn)行注釋

舉例

配置端口號:有提示可以直接使用

這個有什么用呢?我們啟動一下程序即可知道

配置數(shù)據(jù)庫相關(guān)信息:

spring.datasoure.url = jdbc:mysql://127.0.0.1:3306/testdb?characterEncoding=utf8&useSSL=false
spring.datasource.username=zhangsan
spring.datasource.password=123456

其中,key 和value我們都是可以自定義的。

上面介紹了如何配置文件內(nèi)容,接下來,就是要去代碼中獲取key對應(yīng)的值

(2)獲取配置文件

import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RequestMapping("/con")
@RestController
public class Controller {
    //獲取端口號
    @Value("${server.port}")
    private String port;
    @RequestMapping("/get")
    public String getValue() {
        return "port="+port;
    }
}

運行結(jié)果:

原理:程序運行之后,會將對應(yīng)的值存放在port中;發(fā)揮作用的是@Value注解,然后里面格式為:"${}",花括號內(nèi)就是路徑,也就是key。

也可以通過其他的注解獲取(不需要借助瀏覽器或者postman),我們在方法前面加上@PostConstruct注解,當(dāng)項目運行起來后,就會默認(rèn)執(zhí)行該方法。

代碼:

//獲取url
    @Value("${spring.datasoure.url}")
    private String url;
    @PostConstruct
    public void get() {
        System.out.println("================");
        System.out.println("spring.datasoure.url"+url);
        System.out.println("================");
    }

運行結(jié)果:

以上就是獲取配置文件的方法了。

(3).properties的缺點

為什么要介紹缺點,那是為了方便介紹yml,更有對比性。

缺點:存在很多的重復(fù)項

每寫一個配置項,都需要重新寫一長串前綴,就會顯得很冗余。所以,我們需要再去學(xué)習(xí)yml

4.yml語法

(1)語法格式

格式:key: value (冒號后面有一個空格,不可以省略),如果多個key,也就是每個key中間由點好分割,在yml格式下就要改成冒號+換行分割

像上面的就是大致的寫法,冒號后面的空格一定不要忘。還有一點就是:其中null使用~表示,其他的類型比如整型和字符串,使用什么類型去接受,就可以自動轉(zhuǎn)換成什么類型

(2)獲取配置文件

yml格式獲取配置文件和properties是一樣的

import jakarta.annotation.PostConstruct;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class YmlController {
    @Value("${string.str1}")
    private String str1;
    @Value("${string.str2}")
    private String str2;
    @Value("${string.str3}")
    private String str3;
    @Value("${mykey}")
    private String value;
    @Value("${key.you.love}")
    private String love;
    @Value("${test}")
    private int num;
    @PostConstruct
    public void getValue() {
        System.out.println(value);
        System.out.println("========================");
        System.out.println(str1);
        System.out.println(str2);
        System.out.println(str3);
        System.out.println("========================");
    }
}

一樣一樣的,文件的路徑也是一樣,都使用點號連接。但是yml在編寫的時候格式不同怎么獲取呢?下面教學(xué)。

只需要選中key,然后右鍵,然后復(fù)制到"${}"中即可。

(3)yml中的單雙引號的差異

打印結(jié)果:

一般雙引號里面的東西不會被被轉(zhuǎn)義,單引號里面的會被轉(zhuǎn)義,也就是\n在單引號下就只是一個串,在雙引號下是換行

(4)配置對象

上述是配置普通類型,下面介紹配置對象

獲取整個對象不能再使用@Value注解,而使用:@ConfigurationProperties

打印結(jié)果:

這就是獲取對象的方法

(5)獲取集合

獲取list

獲取set:

打印結(jié)果:

獲取map:

(6)yml優(yōu)缺點

優(yōu)點:

1.可讀性高,寫法簡單,易于理解

2.支持更多的數(shù)據(jù)類型,可以簡單表達(dá)對象

3.支持更多的編程語言

缺點:不適合寫復(fù)雜的配置文件

以上就是全部語法內(nèi)容了。

5.配置文件格式

我們只需要修改成UTF-8編碼即可,也就是支持中文注釋

(1)配置當(dāng)前文件

在seting搜索欄中輸入:File encodings,然后出現(xiàn)下面的頁面

上述只是將當(dāng)前項目修改

(2)修改后續(xù)創(chuàng)建的所有項目

進(jìn)入后繼續(xù)搜索:File encodings

以上就是本節(jié)的全部內(nèi)容了。

到此這篇關(guān)于Spring Boot配置文件的語法規(guī)則的文章就介紹到這了,更多相關(guān)Spring Boot配置文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 關(guān)于spring中單例Bean引用原型Bean產(chǎn)生的問題及解決

    關(guān)于spring中單例Bean引用原型Bean產(chǎn)生的問題及解決

    這篇文章主要介紹了關(guān)于spring中單例Bean引用原型Bean產(chǎn)生的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • SpringBoot后臺實現(xiàn)文件上傳下載

    SpringBoot后臺實現(xiàn)文件上傳下載

    這篇文章主要為大家詳細(xì)介紹了SpringBoot后臺實現(xiàn)文件上傳下載,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • 如何使用try-with-resource機(jī)制關(guān)閉連接

    如何使用try-with-resource機(jī)制關(guān)閉連接

    這篇文章主要介紹了使用try-with-resource機(jī)制關(guān)閉連接的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • Maven熱部署devtools的實現(xiàn)示例

    Maven熱部署devtools的實現(xiàn)示例

    本文主要介紹了Maven熱部署devtools的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • 淺談Spring中Bean的作用域、生命周期

    淺談Spring中Bean的作用域、生命周期

    這篇文章主要介紹了淺談Spring中Bean的作用域、生命周期,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • IDEA+Maven創(chuàng)建Spring項目的實現(xiàn)步驟

    IDEA+Maven創(chuàng)建Spring項目的實現(xiàn)步驟

    這篇文章主要介紹了IDEA+Maven創(chuàng)建Spring項目的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • Java實例講解反射機(jī)制是怎么一回事

    Java實例講解反射機(jī)制是怎么一回事

    Java的反射(reflection)機(jī)制是指在程序的運行狀態(tài)中,可以構(gòu)造任意一個類的對象,可以了解任意一個對象所屬的類,可以了解任意一個類的成員變量和方法,可以調(diào)用任意一個對象的屬性和方法
    2022-03-03
  • SpringBoot?ApplicationContext接口深入分析

    SpringBoot?ApplicationContext接口深入分析

    ApplicationContext是Spring應(yīng)用程序中的中央接口,由于繼承了多個組件,使得ApplicationContext擁有了許多Spring的核心功能,如獲取bean組件,注冊監(jiān)聽事件,加載資源文件等
    2022-11-11
  • Java?NIO實現(xiàn)聊天室功能

    Java?NIO實現(xiàn)聊天室功能

    這篇文章主要為大家詳細(xì)介紹了Java?NIO實現(xiàn)聊天室功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • 使用cmd根據(jù)WSDL網(wǎng)址生成java客戶端代碼的實現(xiàn)

    使用cmd根據(jù)WSDL網(wǎng)址生成java客戶端代碼的實現(xiàn)

    這篇文章主要介紹了使用cmd根據(jù)WSDL網(wǎng)址生成java客戶端代碼的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03

最新評論