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

【Spring框架全系列】SpringBoot配置文件相關(guān)操作

這篇具有很好參考價(jià)值的文章主要介紹了【Spring框架全系列】SpringBoot配置文件相關(guān)操作。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

??哈嘍,大家好,我是小浪。上篇博客我們已經(jīng)學(xué)習(xí)了如何創(chuàng)建一個(gè)Spring項(xiàng)目,那么創(chuàng)建Spirng項(xiàng)目還可以直接通過(guò)在Spring官網(wǎng)的方式來(lái)創(chuàng)建,做法也非常的簡(jiǎn)單,感興趣的小伙伴可以在C站搜個(gè)教程嘗試一下;那么,今天我們就來(lái)學(xué)習(xí)SpringBoot如何配置文件;????

??目錄

一、為什么要配置文件,配置文件的作用?

二、SpringBoot配置文件的方法

二、SpringBoot配置文件的格式

一、properties

二、yml

三、讀取配置文件

1、properties

2、yml

3、配置對(duì)象


一、為什么要配置文件,配置文件的作用?

??因?yàn)椋赫麄€(gè)項(xiàng)目中所有重要的數(shù)據(jù)都是在配置?件中配置的,?如:
??1、數(shù)據(jù)庫(kù)的連接信息(包含?戶名和密碼的設(shè)置);
??2、項(xiàng)目的啟動(dòng)端口;
??3、第三方系統(tǒng)的調(diào)?秘鑰等信息;
??4、用于發(fā)現(xiàn)和定位問(wèn)題的普通?志和異常?志等。
??想象?下如果沒(méi)有配置信息,那么 Spring Boot 項(xiàng)目就不能連接和操作數(shù)據(jù)庫(kù),甚?是不能保存可以用于排查問(wèn)題的關(guān)鍵?志,所以配置?件的作用是?常重要的;
【Spring框架全系列】SpringBoot配置文件相關(guān)操作

二、SpringBoot配置文件的方法

1、系統(tǒng)使用的配置文件,如端口號(hào)的設(shè)置,連接數(shù)據(jù)庫(kù)的配置。

2、用戶自定義的配置文件。

二、SpringBoot配置文件的格式

一、properties

語(yǔ)法:properties 是以鍵值的形式配置的,key 和 value 之間是以“=”連接的;

1、當(dāng)我們沒(méi)有設(shè)置配置文件的時(shí)候,我們的SpringBoot默認(rèn)啟動(dòng)的端口號(hào)是8080;

【Spring框架全系列】SpringBoot配置文件相關(guān)操作

2 、當(dāng)我們通過(guò)properties來(lái)設(shè)置一個(gè)端口號(hào)時(shí),我們啟動(dòng)springboot項(xiàng)目來(lái)觀察一下;

2.1在resources目錄下新建一個(gè)文件applications.properties;

【Spring框架全系列】SpringBoot配置文件相關(guān)操作

2.2這里我們可以自己設(shè)置任意一個(gè)端口號(hào),比如我們給個(gè)8888;

server.port=8888

再次運(yùn)行觀察結(jié)果:

【Spring框架全系列】SpringBoot配置文件相關(guān)操作

結(jié)果可以看到,我們自己設(shè)置的端口號(hào)生效了;

那么如何訪問(wèn)到呢?

我們之前在demo包下面新建了一個(gè)TestController類,內(nèi)容如下:

package com.example.demo;

import org.springframework.stereotype.Controller;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

@Controller//當(dāng)前類是控制器
@ResponseBody//返回的是數(shù)據(jù),而非頁(yè)面
public class TestController {

    @RequestMapping("/hello")//url路由注冊(cè)
    public String sayHi(String name){

        if(!StringUtils.hasLength(name)){
            name = "SpringBoot";
        }
        return "hello"+ name;
    }
}

這個(gè)時(shí)候我們就可以通過(guò)瀏覽器來(lái)訪問(wèn),在瀏覽器中輸入以下內(nèi)容:

http://localhost:8888/hello

按下回車,觀察運(yùn)行結(jié)果:

【Spring框架全系列】SpringBoot配置文件相關(guān)操作

二、yml

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

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

2、首先還是在resources目錄下新建一個(gè)yml文件,格式如下:

【Spring框架全系列】SpringBoot配置文件相關(guān)操作

yml文件代碼如下,我們來(lái)測(cè)試一下新設(shè)置的端口號(hào)是否生效;

【Spring框架全系列】SpringBoot配置文件相關(guān)操作

3、在瀏覽器輸入:http://localhost:7777/hello 按下回車,看運(yùn)行結(jié)果;

【Spring框架全系列】SpringBoot配置文件相關(guān)操作

結(jié)果依然是沒(méi)有問(wèn)題;

注:理論上講 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 文件的配置信息。

三、讀取配置文件

1、properties

如果在項(xiàng)?中,想要主動(dòng)的讀取配置文件中的內(nèi)容,可以使用 @Value 注解來(lái)實(shí)現(xiàn)。
@Value 注解使用“${}”的格式讀??;
application.yml文件代碼如下:
server:
  port: 7777
  #自定義配置項(xiàng)
mytest: 小黑

TestController:

package com.example.demo;

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

@Controller//當(dāng)前類是控制器
@ResponseBody//返回的是數(shù)據(jù),而非頁(yè)面
public class TestController {

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


    @RequestMapping("/hello")//url路由注冊(cè)
    public String sayHi(String name){

        if(!StringUtils.hasLength(name)){
            name = "SpringBoot";
        }
        return "hello"+ name;
    }

    @RequestMapping("/getconf")
    public String getconf(){
        return mytest;
    }
}

首先啟動(dòng)springboot類,啟動(dòng)成功后,再去瀏覽器訪問(wèn)對(duì)應(yīng)的地址;

【Spring框架全系列】SpringBoot配置文件相關(guān)操作

瀏覽器輸入以下內(nèi)容:http://localhost:7777/getconf? 按下回車:

【Spring框架全系列】SpringBoot配置文件相關(guān)操作

2、yml

2.1 value值加單雙引號(hào);

application.yml文件寫入以下內(nèi)容:

#字符串
myStirng1: 哈嘍\n呀
myStirng2: '哈嘍\n呀'
myStirng3: "哈嘍\n呀"

TestController類中代碼:

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

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

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

    @PostConstruct
    public void PostConstruct(){
        System.out.println("myString1"+myString1);
        System.out.println("myString2"+myString2);
        System.out.println("myString3"+myString3);
    }

啟動(dòng)springboot項(xiàng)目,觀察結(jié)果;

得以下結(jié)論:

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

3、配置對(duì)象

1、我們還可以在yml中配置對(duì)象,如下格式:

student:
  id: 1
  name: zhangsan
  age: 18

還可以使用行內(nèi)寫法,將對(duì)象中的屬性寫到一行,不用另起很多行;

student1: {id: 1,name: zhangsan,age: 20}

那么讀取對(duì)象的話就不能使用注解@Value了,需要用到另外一個(gè)注解@ConfigurationProperties 來(lái)讀取;

在demo包下新建一個(gè)類Student:

package com.example.demo;

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

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

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

    public Student(int id, @NonNull String name, int age) {
        this.id = id;
        this.name = name;
        this.age = age;
    }

    public int getId() {
        return id;
    }

    public String getName() {
        return name;
    }

    public int getAge() {
        return age;
    }

    public void setId(int id) {
        this.id = id;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

TestController中代碼:

    @Component
    public class ReadYml2 {
        @Autowired
        private Student student;
        @PostConstruct
        public void postConstruct() {
            System.out.println(student);
        }
    }

運(yùn)行結(jié)果:【Spring框架全系列】SpringBoot配置文件相關(guān)操作

?注意:1、學(xué)生類Student使用@ConfigurationProperties("student")這個(gè)注解,并且注解后面的對(duì)象名必須和配置文件中的一致;

??2、實(shí)體類的屬性名必須和配置中的key保持一致,并且提供getter和setter方法;

??OK,今天的學(xué)習(xí)內(nèi)容就到這里啦,喜歡的小伙伴可以三連一下,訂閱本專欄,以便于及時(shí)收到更新信息,感謝閱讀,我們下期再見??!????文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-447610.html

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

本文來(lái)自互聯(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)文章

  • 【Spring框架全系列】方法注解@Bean的使用

    【Spring框架全系列】方法注解@Bean的使用

    ????哈嘍,大家好,我是小浪。上篇博客我們介紹了五大類注解的使用方法,以及如何解決Spring使用五大類注解生成bean-Name的問(wèn)題;那么,談到如何更簡(jiǎn)單的讀取和存儲(chǔ)對(duì)象,這里我們還需要介紹另外一個(gè)\\\"方法注解@Bean\\\"的使用,快來(lái)一起學(xué)習(xí)叭!???? ??目錄 一、如何使

    2024年02月04日
    瀏覽(22)
  • 【Spring框架全系列】Spring更簡(jiǎn)單的讀取和存儲(chǔ)對(duì)象

    【Spring框架全系列】Spring更簡(jiǎn)單的讀取和存儲(chǔ)對(duì)象

    ????哈嘍,大家好,我是小浪。上篇博客我們介紹了如何創(chuàng)建一個(gè)spring項(xiàng)目,并且如何的存、取對(duì)象,介紹了相關(guān)方法,那么本篇博客將接著上篇博客的內(nèi)容介紹如何更加簡(jiǎn)單的讀取和存儲(chǔ)對(duì)象。 ??在 Spring 中想要更簡(jiǎn)單的存儲(chǔ)和讀取對(duì)象的核?是使?注解,也就是我們接

    2024年02月05日
    瀏覽(20)
  • 云安全系列4:解析云安全工具集

    云安全系列4:解析云安全工具集

    隨著組織越來(lái)越多地將數(shù)據(jù)和應(yīng)用轉(zhuǎn)移到云端,云安全在確保工作負(fù)載安全方面變得至關(guān)重要。Gartener 就表示:“云優(yōu)先戰(zhàn)略現(xiàn)在已十分普遍,甚至在不愿承擔(dān)風(fēng)險(xiǎn)的企業(yè)機(jī)構(gòu)中也是如此。但由于缺乏確保安全云計(jì)算部署所必需的技能和工具,因此執(zhí)行仍然受到阻礙?!?在了

    2024年02月02日
    瀏覽(28)
  • Radware負(fù)載均衡-全系列產(chǎn)品證書更新(二)

    Radware負(fù)載均衡-全系列產(chǎn)品證書更新(二)

    簡(jiǎn)單介紹一下關(guān)于Radware APSolute Vision平臺(tái)的證書更新。 更新證書有兩種方式,一種為自簽發(fā),另外一種為導(dǎo)入第三方證書,且更新證書僅能通過(guò)命令行的形式更新證書。兩種方式都會(huì)導(dǎo)致APSolute Vision平臺(tái)設(shè)備的重啟(老版本,最新版本只會(huì)導(dǎo)致當(dāng)前訪問(wèn)vision會(huì)話中斷),請(qǐng)注

    2024年01月16日
    瀏覽(22)
  • FreeRTOS 全系列筆記——基于V10.4

    基于crotex-m處理器新建FreeRTOS工程 為什么使用嵌入式實(shí)時(shí)操作系統(tǒng)(RTOS) FreeRTOS——?jiǎng)?chuàng)建任務(wù) FreeRTOS的任務(wù)調(diào)度和管理 FreeRTOS-內(nèi)核鏈表數(shù)據(jù)結(jié)構(gòu) FreeRTOS-內(nèi)核對(duì)時(shí)間的測(cè)量 FreeRTOS-內(nèi)核中的鉤子(Hook)函數(shù) FreeRTOS-軟件定時(shí)器的使用 FreeRTOS-軟件定時(shí)器的實(shí)現(xiàn)原理 FreeRTOS-延后執(zhí)行機(jī)制

    2024年02月04日
    瀏覽(26)
  • 小米紅米全系列官方原廠預(yù)裝系統(tǒng)

    小米紅米全系列官方原廠預(yù)裝系統(tǒng)

    小米紅米全系列官方原廠預(yù)裝系統(tǒng)恢復(fù)鏡像 1.全系列為原廠預(yù)裝恢復(fù)鏡像系統(tǒng),專機(jī)專用 2.自帶原機(jī)所有驅(qū)動(dòng),主題,Logo,Office等,再次恢復(fù)原廠 鏈接: https://pan.baidu.com/s/1snKOsH3OMl3GZLqeAf-GLA?pwd=8888 3.支持型號(hào)如下: Xiaomi Book 12.4 二合一 Xiaomi Book Air 13 ?Redmi G (Pro) 游戲本 2022 銳

    2024年02月11日
    瀏覽(21)
  • 【云安全系列】Seccomp—云安全syscall防護(hù)利器

    【云安全系列】Seccomp—云安全syscall防護(hù)利器

    Seccomp(全稱 “Secure computing”),早在 2.6.12 版本(2005年3月8日)就引入到內(nèi)核中,是通過(guò)只允許內(nèi)核支持部分 syscall(系統(tǒng)調(diào)用),或者拒絕內(nèi)核認(rèn)為可能有危險(xiǎn)的 syscall 集合的方式,來(lái)限制一個(gè)進(jìn)程所支持的 syscall調(diào)用。最初,Seccomp 只允許使用read、 write、 _exit、sigreturn

    2024年02月08日
    瀏覽(26)
  • Oracle全系列版本官網(wǎng)下載保姆及教程

    Oracle全系列版本官網(wǎng)下載保姆及教程

    下面以下載Oracle12cR2為例說(shuō)明下載的整個(gè)過(guò)程。 基本步驟如下: 先注冊(cè)一個(gè)Oracle賬號(hào)并登錄; 進(jìn)入到客戶下載頁(yè)面搜索要下載的數(shù)據(jù)庫(kù)版本; 得到Oracle下載器(Oracle_SSN_DML_xxxxx.exe),注意:每下載一次都會(huì)得到一個(gè)Oracle的下載器; 運(yùn)行下載器進(jìn)行下載 官網(wǎng)地址:https://www.or

    2024年01月17日
    瀏覽(24)
  • 蘋果發(fā)布會(huì):iPhone 15全系列手機(jī)正式發(fā)布

    蘋果發(fā)布會(huì):iPhone 15全系列手機(jī)正式發(fā)布

    在人們的高度關(guān)注和熱切期待中,蘋果公司在北京時(shí)間9月13日凌晨1點(diǎn),準(zhǔn)時(shí)舉辦了秋季新品發(fā)布會(huì),并如期發(fā)布了iPhone 15系列。此次發(fā)布會(huì)以“好奇心上頭”為主題,吸引了全球消費(fèi)者和科技愛(ài)好者的目光。 在發(fā)布會(huì)上,蘋果公司向全球觀眾展示了iPhone 15系列的手機(jī),iPho

    2024年02月09日
    瀏覽(34)
  • 【Intel/Altera】 全系列FPGA最新匯總說(shuō)明,持續(xù)更新中

    【Intel/Altera】 全系列FPGA最新匯總說(shuō)明,持續(xù)更新中

    ????????2023年11月14日英特爾 FPGA中國(guó)技術(shù)日, Intel剛發(fā)布了新的FPGA系列 ,官網(wǎng)信息太多,我這里結(jié)合以前的信息, 簡(jiǎn)單匯總更新一下,方便大家快速了解Intel/Altera FPGA家族。 ? 目錄 前言 Altera和Intel 型號(hào)匯總 1. Agilex 系列 1.1英特爾? Agilex? 7 FPGA 和 SoC FPGA 1.2英特爾? Ag

    2024年02月04日
    瀏覽(48)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包