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

【Spring Boot學(xué)習(xí)】今天是我的生日,舍友催我去吃飯,我還是堅持寫完了Spring Boot配置文件,祝自己生日快樂哈

這篇具有很好參考價值的文章主要介紹了【Spring Boot學(xué)習(xí)】今天是我的生日,舍友催我去吃飯,我還是堅持寫完了Spring Boot配置文件,祝自己生日快樂哈。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

前言:
大家好,我是良辰丫,上一篇文章中我們已經(jīng)學(xué)習(xí)了Spring Boot項目的的創(chuàng)建,今天我們會學(xué)習(xí)Spring Boot的配置文件,在今天的學(xué)習(xí)中我們會遇到許多我們不認(rèn)識的注解,這些注解是Spring MVC中的,我們后續(xù)會介紹,大家先不用管這些注解是什么意思.那么,為什么不先學(xué)習(xí)MVC呢?我想讓大家先接觸注解,最起碼有個印象,后面學(xué)習(xí)起來也就變得簡單了.??????

??個人主頁:良辰針不戳
??所屬專欄:javaEE進階篇之框架學(xué)習(xí)
??勵志語句:生活也許會讓我們遍體鱗傷,但最終這些傷口會成為我們一輩子的財富。
??期待大家三連,關(guān)注,點贊,收藏。
??作者能力有限,可能也會出錯,歡迎大家指正。
??愿與君為伴,共探Java汪洋大海。

【Spring Boot學(xué)習(xí)】今天是我的生日,舍友催我去吃飯,我還是堅持寫完了Spring Boot配置文件,祝自己生日快樂哈

1. 初識Spring Boot配置文件

  • 在spring中我們認(rèn)識了pom.xml配置文件,這個配置文件是為了引入我們的依賴.
  • 配置文件是為了配置項目中的一些數(shù)據(jù),比如端口,數(shù)據(jù)庫等信息.

配置文件通常分為兩種:

  • 系統(tǒng)使用的配置文件,比如端口的設(shè)置等.
  • 用戶自定義配置文件.

2. 配置文件的格式

在我們的Spring Boot中,通常使用兩種配置文件,我們的這兩種配置文件放在resources文件中.

  • properties文件.
  • yml文件.

為什么要有這兩種配置文件呢?

  • 兩種配置文件可以理解為不同的樣式,兩種文件都可以實現(xiàn)相應(yīng)的配置功能.
  • 我們之前學(xué)過前后端交互,約定相應(yīng)的格式,可以選擇各種各樣的格式,但是約定好了,前后端要有相同的約定格式,才能進行交互.回到我們spring boot這里,兩種不同的配置文件是兩種風(fēng)格,大家可以選擇自己喜歡的去使用.
  • 那么,兩種配置文件可以同時出現(xiàn)嘛?可以同時出現(xiàn),但是properties的優(yōu)先級比yml的高.如果兩個配置文件都要修改容器的端口,那么會按照properties修改的為準(zhǔn).
  • 理論上,兩者配置文件可以同時出現(xiàn),但是在我們實際的項目中一般只會采用其中的一種即可.

3. properties配置文件

properties 配置?件是最早期的配置?件格式,也是創(chuàng)建 Spring Boot 項?默認(rèn)的配置?件.比較古老,但是在我們的項目中也經(jīng)常使用.

3.1 properties 的用法

  • properties 是以鍵值的形式配置的,key 和 value 之間是以“=”連接的
  • 井號后面加注釋.
# 配置項?端?號
server.port=6666

【Spring Boot學(xué)習(xí)】今天是我的生日,舍友催我去吃飯,我還是堅持寫完了Spring Boot配置文件,祝自己生日快樂哈

從運行的結(jié)果看,端口號已經(jīng)被成功修改為6666.

【Spring Boot學(xué)習(xí)】今天是我的生日,舍友催我去吃飯,我還是堅持寫完了Spring Boot配置文件,祝自己生日快樂哈

6666端口無法通過瀏覽器訪問頁面,端口可能被占用,我們換一個8888端口.

【Spring Boot學(xué)習(xí)】今天是我的生日,舍友催我去吃飯,我還是堅持寫完了Spring Boot配置文件,祝自己生日快樂哈

【Spring Boot學(xué)習(xí)】今天是我的生日,舍友催我去吃飯,我還是堅持寫完了Spring Boot配置文件,祝自己生日快樂哈

3.2 代碼讀取配置文件

  • 在項?中,想要主動的讀取配置?件中的內(nèi)容,可以使? @Value 注解來實現(xiàn)。
  • @Value 注解使?“${}”的格式讀取.
  • 還有一點需要注意的是我們在導(dǎo)入包的時候別導(dǎo)錯,Lombok里面也有一個value包,導(dǎo)入這個無法使用我們下面語句的value.

properties配置文件

# 設(shè)置端口號
server.port=8888
# 自定義配置文件
name= zhangsan
password= 12345
package com.example.demo;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.beans.factory.annotation.Value;

import javax.annotation.PostConstruct;
@Controller // 當(dāng)前類為控制器
@ResponseBody // 返回的是數(shù)據(jù),而非頁面
public class User2 {
    @Value("${name}")
    private String name;

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

    @RequestMapping("/user2")
    public String get(){
        return "name: "+name+"<br>"+
                "password: "+password;
    }
}

3.3 properties的缺點

【Spring Boot學(xué)習(xí)】今天是我的生日,舍友催我去吃飯,我還是堅持寫完了Spring Boot配置文件,祝自己生日快樂哈

  • properties是key-value的形式.
  • 從上面的截圖中我們可以得出,一級配置,二級配置等等 N級配置,沒用一次就要重復(fù)寫一次,非常冗余.
  • 那么我們有辦法可以做到不冗余嘛?下面我們將學(xué)習(xí)yml配置文件,這種配置就可以做到不冗余.

4. yml配置文件

4.1 初識yml

yml 是 YAML 是縮寫,它的全稱 Yet Another Markup Language 翻譯成中?就是“另?種標(biāo)記語?”。

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

4.2 yml的用法

yml 是樹形結(jié)構(gòu)的配置?件,它的基礎(chǔ)語法是“key: value”,注意 key 和 value 之間使?英?冒汗加空格的?式組成的.

【Spring Boot學(xué)習(xí)】今天是我的生日,舍友催我去吃飯,我還是堅持寫完了Spring Boot配置文件,祝自己生日快樂哈

下面的截圖足以說明yml配置文件相比于上面的配置文件,減少了冗余性.

【Spring Boot學(xué)習(xí)】今天是我的生日,舍友催我去吃飯,我還是堅持寫完了Spring Boot配置文件,祝自己生日快樂哈

4.3 yml不同的數(shù)據(jù)類型

暫時先簡單了解.

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

4.4 yml 配置讀取

# 自定義配置文件
name: 李四
password: 12345
package com.example.demo;


import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.beans.factory.annotation.Value;

//import javax.annotation.PostConstruct;

@Controller // 當(dāng)前類為控制器
@ResponseBody // 返回的是數(shù)據(jù),而非頁面
public class User2 {
    @Value("${name}")
    private String name;

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

    @RequestMapping("/user2")
    public String get(){
        return "name: "+name+"<br>"+
                "password: "+password;
    }
}

【Spring Boot學(xué)習(xí)】今天是我的生日,舍友催我去吃飯,我還是堅持寫完了Spring Boot配置文件,祝自己生日快樂哈

  • yml支持中文的讀寫.
  • 兩種配置讀取其實大同小異.

4.5 三種字符串的區(qū)別

經(jīng)過測試,三種字符串的形式可以如下.

  • 直接寫字符串
  • 單引號的字符串
  • 雙引號的字符串

我們來通過一個構(gòu)造方法,直接在控制臺上打印.

# yml配置文件
str1: 你好,葉良辰
str2: '你好,葉良辰'
str3: "你好,葉良辰"
package com.example.demo;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.annotation.PostConstruct;
@Controller // 當(dāng)前類為控制器
@ResponseBody // 返回的是數(shù)據(jù),而非頁面
public class User3 {
    @Value("${str1}")
    private String str1;

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

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


@PostConstruct
public void postConstruct() {
    System.out.println("string.str1:" + str1);
    System.out.println("string.str2:" + str2);
    System.out.println("string.str3:" + str3);
}
}

【Spring Boot學(xué)習(xí)】今天是我的生日,舍友催我去吃飯,我還是堅持寫完了Spring Boot配置文件,祝自己生日快樂哈

通過運行結(jié)果我們可以得知,此時三種形式?jīng)]有區(qū)別,那么如果我們加一個轉(zhuǎn)義字符呢?

# yml配置文件
str1: 你好,\n葉良辰
str2: '你好,\n葉良辰'
str3: "你好,\n葉良辰"

【Spring Boot學(xué)習(xí)】今天是我的生日,舍友催我去吃飯,我還是堅持寫完了Spring Boot配置文件,祝自己生日快樂哈

通過運行結(jié)果我們可以看出,雙引號的字符串被轉(zhuǎn)義了換行,那么我們在改造一下,給雙引號里面多加一個斜杠,然后再來觀察運行結(jié)果.

【Spring Boot學(xué)習(xí)】今天是我的生日,舍友催我去吃飯,我還是堅持寫完了Spring Boot配置文件,祝自己生日快樂哈
【Spring Boot學(xué)習(xí)】今天是我的生日,舍友催我去吃飯,我還是堅持寫完了Spring Boot配置文件,祝自己生日快樂哈

此時我們可以發(fā)現(xiàn)三種運行結(jié)果相同.

小結(jié) :

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

4.6 yml配置對象

4.6.1 塊級寫法

student:
 id: 1
 name: 張三
 age: 18
package com.example.demo;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

@Component
@ConfigurationProperties("student")
@Data
public class Student {
    private int id;
    private String name;
    private int age;

    @Override
    public String toString() {
        return "Student{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}
package com.example.demo;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.annotation.PostConstruct;
@Controller // 當(dāng)前類為控制器
@ResponseBody // 返回的是數(shù)據(jù),而非頁面
public class User3 {
@Autowired
private Student student;
    @PostConstruct
    public void postConstruct() {
        System.out.println(student);
    }
}

【Spring Boot學(xué)習(xí)】今天是我的生日,舍友催我去吃飯,我還是堅持寫完了Spring Boot配置文件,祝自己生日快樂哈

4.6.2 行內(nèi)寫法

student: {id: 1,name: 張三,age: 18}

【Spring Boot學(xué)習(xí)】今天是我的生日,舍友催我去吃飯,我還是堅持寫完了Spring Boot配置文件,祝自己生日快樂哈

這個時候就不能? @Value 來讀取配置中的對象了,此時要使?另?個注解@ConfigurationProperties 來讀取.

4.7 配置集合,簡單了解

yml配置,兩種配置都可以

dbtypes:
  name:
    - 張三
    - 李四
    - 王五
dbtypes: {name: [張三,李四,王五]}

java文件

package com.example.demo;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import javax.annotation.PostConstruct;

@Component
public class User4 {
    @Autowired
    private ListConfig listConfig;

    @PostConstruct
    public void post(){
        System.out.println(listConfig.getName());
    }
}

package com.example.demo;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

import java.util.List;

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

【Spring Boot學(xué)習(xí)】今天是我的生日,舍友催我去吃飯,我還是堅持寫完了Spring Boot配置文件,祝自己生日快樂哈文章來源地址http://www.zghlxwxcb.cn/news/detail-473323.html

5. properties 與 yml 的比較

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

到了這里,關(guān)于【Spring Boot學(xué)習(xí)】今天是我的生日,舍友催我去吃飯,我還是堅持寫完了Spring Boot配置文件,祝自己生日快樂哈的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 【Spring Boot學(xué)習(xí)】Spring Boot的創(chuàng)建,第一個Spring Boot頁面.

    【Spring Boot學(xué)習(xí)】Spring Boot的創(chuàng)建,第一個Spring Boot頁面.

    前言: 大家好,我是 良辰丫 ,前面幾篇文章,我們系統(tǒng)的學(xué)習(xí)了Spring框架,今天開始,我們就要學(xué)習(xí)更高級的SpringBoot框架了,不要著急哦,我們一起暢游SpringBoot框架的世界.?????? ??個人主頁:良辰針不戳 ??所屬專欄:javaEE進階篇之框架學(xué)習(xí) ??勵志語句:生活也許會讓我們遍體

    2024年02月08日
    瀏覽(97)
  • 【Spring Boot學(xué)習(xí)一】創(chuàng)建項目 && Spring Boot的配置文件

    【Spring Boot學(xué)習(xí)一】創(chuàng)建項目 && Spring Boot的配置文件

    目錄 一、安裝插件 二、創(chuàng)建Spring Boot項目 1、創(chuàng)建項目 1.1?使用IDEA創(chuàng)建 ?1.2?網(wǎng)頁版本創(chuàng)建 2、項目目錄介紹與運行 三、Sping Boot的配置文件(重點) ??1、.properties配置文件 (1)基礎(chǔ)語法:Key = value (2)讀取配置?件中的內(nèi)容,@Value 注解使?“${}”的格式讀取; ??2、.y

    2024年02月16日
    瀏覽(38)
  • spring boot學(xué)習(xí)第八篇:通過spring boot、jedis實現(xiàn)秒單

    spring boot學(xué)習(xí)第八篇:通過spring boot、jedis實現(xiàn)秒單

    參考:Redis實現(xiàn)分布式鎖的7種方案 - 知乎 1、 準(zhǔn)備數(shù)據(jù)庫表,如下SQL表示庫存表,有主鍵ID和庫存數(shù)量字段 初始數(shù)據(jù)id? ? ? ? ? ?quantity ? ? ? ? ? ? ? 1111? ? ? ?9 2、pom.xml文件 3、應(yīng)用配置文件 4、StockMapper.xml如下 5、BackendApplication 6、Stock.java如下 7、StockMapper 8、OrderContr

    2024年01月19日
    瀏覽(27)
  • Spring Boot學(xué)習(xí)

    Spring Boot學(xué)習(xí)

    Spring Boot 配置 同一目錄下配置文件優(yōu)先級:.properties .yml .yaml 錯誤: org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputException: Input length = 1 Caused by: java.nio.charset.MalformedInputException: Input length = 1 at java.nio.charset.CoderResult.throwException(CoderResult.java:281) at sun.nio.cs.StreamDecoder.imp

    2024年02月16日
    瀏覽(15)
  • Spring Boot學(xué)習(xí)篇(十)

    Spring Boot學(xué)習(xí)篇(十)

    1.模擬注冊時,生成密文到數(shù)據(jù)庫中 1.1 在zlz包下創(chuàng)建util包,并在下面創(chuàng)建SHAUtil01類(初始里面無方法)和SHAUtil02類,其目錄結(jié)構(gòu)如下所示 1.2 兩種生成密文的方式 1.2.1 自己指定鹽 a 核心代碼 b 完整代碼 1.2.2 隨機生成鹽 a 核心代碼 b 完整代碼 1.3 手動變更數(shù)據(jù)表(以自己指定鹽的方式

    2024年02月05日
    瀏覽(44)
  • Spring Boot學(xué)習(xí)路線1

    Spring Boot 是基于 Spring Framework 構(gòu)建應(yīng)用程序的框架, Spring Framework 是一個廣泛使用的用于構(gòu)建基于 Java 的企業(yè)應(yīng)用程序的開源框架。 Spring Boot 旨在使創(chuàng)建獨立的、生產(chǎn)級別的 Spring 應(yīng)用程序變得容易,您可以\\\"只是運行\(zhòng)\\"這些應(yīng)用程序。 Spring Core 是 Spring Framework 的基礎(chǔ),為基于

    2024年02月15日
    瀏覽(29)
  • Spring Boot(04):讓你的Spring Boot應(yīng)用“火力全開”,從零開始學(xué)習(xí)starter

    Spring Boot(04):讓你的Spring Boot應(yīng)用“火力全開”,從零開始學(xué)習(xí)starter

    ????????Spring Boot是一款非常流行的Java開發(fā)框架,其具有快速開發(fā)、自動化配置、內(nèi)嵌服務(wù)器、易于擴展等特點,因此備受開發(fā)者歡迎。在日常開發(fā)中,我們經(jīng)常需要在不同的環(huán)境中進行測試和部署,此時,如何實現(xiàn)開發(fā)、測試、生產(chǎn)環(huán)境的快速切換,成為了我們需要解決

    2024年04月13日
    瀏覽(22)
  • 【Spring Boot學(xué)習(xí)二】日志文件

    【Spring Boot學(xué)習(xí)二】日志文件

    目錄 ??1、自定義輸出日志 ???2、日志級別 2.1 日志級別分類(6種) 2.2 配置日志級別(在.yml文件中設(shè)置:) (1)設(shè)置日志整體級別 (2)分目錄設(shè)置日志級別 ??3、日志怎么持久化 3.1 設(shè)置日志文件名和路徑(.yml文件下配置) ?3.2 對日志分割:每隔多少M分割 ??4、更簡單的

    2024年02月16日
    瀏覽(15)
  • 【Spring Boot學(xué)習(xí)】日志文件,Spring Boot也會寫日記了,這些事你知道嘛 ? ? ?

    【Spring Boot學(xué)習(xí)】日志文件,Spring Boot也會寫日記了,這些事你知道嘛 ? ? ?

    前言: 大家好,我是 良辰丫 ,在上一篇文章中我們已經(jīng)學(xué)習(xí)了Spring Boot的配置,接下來我們要學(xué)習(xí)一些日志相關(guān)的東西,什么是日志呢?我們慢慢往下看.?????? ??個人主頁:良辰針不戳 ??所屬專欄:javaEE進階篇之框架學(xué)習(xí) ??勵志語句:生活也許會讓我們遍體鱗傷,但最終這些

    2024年02月08日
    瀏覽(36)
  • 【Spring Boot 源碼學(xué)習(xí)】BootstrapRegistry 詳解

    【Spring Boot 源碼學(xué)習(xí)】BootstrapRegistry 詳解

    《Spring Boot 源碼學(xué)習(xí)系列》 前面的博文《BootstrapRegistryInitializer 詳解》,Huazie 帶大家一起詳細(xì)分析了 Spring Boot 啟動時加載并初始化 BootstrapRegistryInitializer 及其相關(guān)的類的邏輯。其中有個 BootstrapRegistry 接口只是簡單提及,本篇就詳細(xì)分析一下 BootstrapRegistry 接口,這對于我們后

    2024年02月20日
    瀏覽(17)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包