最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

1.配置文件的作用

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

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

(1)項(xiàng)目的啟動(dòng)端口

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

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

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

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

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

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

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

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

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

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

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

3.properties語法

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

雙擊點(diǎn)開:

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

(1)語法格式

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

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

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

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

舉例

配置端口號(hào):有提示可以直接使用

這個(gè)有什么用呢?我們啟動(dòng)一下程序即可知道

配置數(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 {
    //獲取端口號(hào)
    @Value("${server.port}")
    private String port;
    @RequestMapping("/get")
    public String getValue() {
        return "port="+port;
    }
}

運(yùn)行結(jié)果:

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

也可以通過其他的注解獲取(不需要借助瀏覽器或者postman),我們在方法前面加上@PostConstruct注解,當(dāng)項(xiàng)目運(yùn)行起來后,就會(huì)默認(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("================");
    }

運(yùn)行結(jié)果:

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

(3).properties的缺點(diǎn)

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

缺點(diǎn):存在很多的重復(fù)項(xiàng)

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

4.yml語法

(1)語法格式

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

像上面的就是大致的寫法,冒號(hào)后面的空格一定不要忘。還有一點(diǎn)就是:其中null使用~表示,其他的類型比如整型和字符串,使用什么類型去接受,就可以自動(dòng)轉(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("========================");
    }
}

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

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

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

打印結(jié)果:

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

(4)配置對象

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

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

打印結(jié)果:

這就是獲取對象的方法

(5)獲取集合

獲取list

獲取set:

打印結(jié)果:

獲取map:

(6)yml優(yōu)缺點(diǎn)

優(yōu)點(diǎn):

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

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

3.支持更多的編程語言

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

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

5.配置文件格式

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

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

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

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

(2)修改后續(xù)創(chuàng)建的所有項(xià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)文章

  • java仿Servlet生成驗(yàn)證碼實(shí)例詳解

    java仿Servlet生成驗(yàn)證碼實(shí)例詳解

    這篇文章主要介紹了java仿Servlet生成驗(yàn)證碼實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • mybatis plus怎么忽略映射字段

    mybatis plus怎么忽略映射字段

    這篇文章主要介紹了mybatis plus怎么忽略映射字段,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • 詳解JAVA中接口的定義和接口的實(shí)現(xiàn)

    詳解JAVA中接口的定義和接口的實(shí)現(xiàn)

    這篇文章主要介紹了JAVA中接口的定義和接口的實(shí)現(xiàn),文中講解非常細(xì)致,配合代碼更好的幫大家學(xué)習(xí)參考,感興趣的朋友可以了解下
    2020-06-06
  • java web個(gè)人通訊錄系統(tǒng)設(shè)計(jì)

    java web個(gè)人通訊錄系統(tǒng)設(shè)計(jì)

    這篇文章主要為大家詳細(xì)介紹了java web個(gè)人通訊錄系統(tǒng)設(shè)計(jì),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • Java WeakHashMap案例詳解

    Java WeakHashMap案例詳解

    這篇文章主要介紹了Java WeakHashMap案例詳解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • Java SSL證書錯(cuò)誤:No subject alternative names present的解決方案

    Java SSL證書錯(cuò)誤:No subject alternative name

    本文深入解析Java SSL證書錯(cuò)誤'No subject alternative names present'的解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2026-03-03
  • java8 對象轉(zhuǎn)Map時(shí)重復(fù) key Duplicate key xxxx的解決

    java8 對象轉(zhuǎn)Map時(shí)重復(fù) key Duplicate key xxxx的解決

    這篇文章主要介紹了java8 對象轉(zhuǎn)Map時(shí)重復(fù) key Duplicate key xxxx的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • java并發(fā)之AtomicInteger源碼分析

    java并發(fā)之AtomicInteger源碼分析

    AtomicInteger是java并發(fā)包下面提供的原子類,主要操作的是int類型的整型,通過調(diào)用底層Unsafe的CAS等方法實(shí)現(xiàn)原子操作。下面小編和大家一起學(xué)習(xí)一下
    2019-05-05
  • springboot從application.properties中注入list,?map方式

    springboot從application.properties中注入list,?map方式

    這篇文章主要介紹了springboot從application.properties中注入list,map方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • SpringBoot配置文件中常用配置屬性詳解(application.properties/application.yml)

    SpringBoot配置文件中常用配置屬性詳解(application.properties/application.y

    Spring Boot 的一大優(yōu)勢就是通過簡單的配置文件即可快速定制應(yīng)用行為,而無需編寫大量 XML 配置或 Java 代碼,下面我們就來看看application.properties和application.yml作為核心配置文件的常見屬性吧
    2025-07-07

最新評論

深泽县| 武汉市| 崇仁县| 依兰县| 日照市| 册亨县| 丰镇市| 黔西| 满城县| 唐海县| 精河县| 伊通| 白城市| 仲巴县| 金川县| 夏邑县| 板桥市| 安顺市| 新昌县| 静安区| 南投市| 洪湖市| 调兵山市| 应用必备| 怀安县| 云龙县| 安福县| 阿荣旗| 睢宁县| 莱阳市| 韩城市| 北海市| 巴彦县| 临城县| 泰州市| 台江县| 新邵县| 九龙坡区| 于田县| 呼图壁县| 蓝山县|