【淺學(xué)Java】SpringBoot配置文件-創(chuàng)新互聯(lián)

SpringBoot 配置文件
  • 1. 配置文件的作用
  • 2. 配置文件的格式
    • .properties配置文件的格式
    • .properties配置文件的缺點(diǎn)
    • .yml配置文件的格式
    • .yml配置文件的優(yōu)點(diǎn)
  • 3. 配置文件的分類
    • 3.1 兩種類型配置文件
    • 3.2 用戶自定義配置項(xiàng)
  • 4. 配置信息讀取
    • 4.1 自定義配置信息讀取
    • 4.2 系統(tǒng)配置信息讀取
    • 4.3 特別注意_Value中的數(shù)據(jù)格式
    • 4.4 yml中字符串修飾符的問題
  • 5. 配置對(duì)象以及讀取對(duì)象
  • 6. 配置集合以及讀取集合
  • 7. 設(shè)置不同環(huán)境的配置項(xiàng)

為鐘祥等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及鐘祥網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、鐘祥網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!1. 配置文件的作用

整個(gè)項(xiàng)目所有的重要數(shù)據(jù)都是在配置文件中配置的,比如:

  1. 數(shù)據(jù)庫中的連接信息
  2. 項(xiàng)目的啟動(dòng)端口
2. 配置文件的格式

Spring Boot 配置文件的格式主要有兩種:

  1. properties
  2. yml

如下所示:
在這里插入圖片描述

注意:

  1. 約定配置文件的文件名都是用application開頭
  2. 當(dāng)兩者格式的配置文件同時(shí)存在時(shí),約定 .properties 的優(yōu)先級(jí)大于 .yml
.properties配置文件的格式

實(shí)例:
在這里插入圖片描述

.properties配置文件的缺點(diǎn)

可以看出, properties 有明顯的缺,就是有挺多的冗余信息:
在這里插入圖片描述

.yml配置文件的格式

實(shí)例:
在這里插入圖片描述

.yml配置文件的優(yōu)點(diǎn)
  1. 書寫簡便,解決了.properties配置文件信息冗余的問題
  2. yml 是?個(gè)可讀性?,寫法簡單、易于理解,它的語法和 JSON 語?類似。
  3. yml ?持更多的數(shù)據(jù)類型,它可以簡單表達(dá)清單(數(shù)組)、散列表,標(biāo)量等數(shù)據(jù)形態(tài)。它使?空?符號(hào)縮進(jìn)和?量依賴外觀的特?,特別適合?來表達(dá)或編輯數(shù)據(jù)結(jié)構(gòu)、各種配置?件等。
  4. yml ?持更多的編程語?,它不?是 Java 中可以使?在 Golang、PHP、Python、Ruby、JavaScript、Perl 中
3. 配置文件的分類 3.1 兩種類型配置文件
  1. SpringBoot內(nèi)置的配置項(xiàng),比如server.port
  2. 用戶自定義得配置項(xiàng)
3.2 用戶自定義配置項(xiàng)
# 字符串
string.value: Hello
# 布爾值,true或false
boolean.value: true
boolean.value1: false
# 整數(shù)
int.value: 10
int.value1: 0b1010_0111_0100_1010_1110 # ?進(jìn)制
# 浮點(diǎn)數(shù)
float.value: 3.14159
float.value1: 314159e-5 # 科學(xué)計(jì)數(shù)法
# Null,~代表null
null.value: ~
4. 配置信息讀取 4.1 自定義配置信息讀取

首先在配置信息中,配置一個(gè)自定義信息:
在這里插入圖片描述
然后讀?。?/p>

@RestController
public class TestController {@Value("${mykey.key1}")
    private String mykey;

    @RequestMapping("/hi")
    public String sayhi(){return "hi,"+mykey;
    }
}

打印結(jié)果:
在這里插入圖片描述

4.2 系統(tǒng)配置信息讀取

以項(xiàng)目端口號(hào)為實(shí)例,先配置項(xiàng)目端口號(hào):
在這里插入圖片描述
然后讀?。?/p>

@RestController
public class TestController {@Value("${server.port}")
    private String port;

    @RequestMapping("/hi")
    public String sayhi(){return "hi,"+port;
    }
}

打印結(jié)果:
在這里插入圖片描述

4.3 特別注意_Value中的數(shù)據(jù)格式

在這里插入圖片描述

4.4 yml中字符串修飾符的問題

在這里插入圖片描述
yml配置如果使用了雙引號(hào)修飾value值,那么value值就會(huì)觸發(fā)其本身的作用,比如:\n表示換行。

5. 配置對(duì)象以及讀取對(duì)象

先在 .yml 配置文件中配置 student對(duì)象:
在這里插入圖片描述
創(chuàng)建和配置文件相對(duì)于的Student類:

注意:要想上面的ConfigurationProperties能成功綁定,就必須是這個(gè)類具Setter方法

@Component//將該對(duì)象存儲(chǔ)在Spring當(dāng)中
@ConfigurationProperties(prefix = "student")//把配置文件中的student配置賦值給當(dāng)前的對(duì)象
@Data//使該類中的變量有Getter和Setter方法,
public class Student {private int id;
    private String name;
    private Integer age;
}

運(yùn)行測試類:

@RestController
public class TestController {@Autowired
    private Student student;
    @RequestMapping("/hi")
    public String sayhi(){return "id:"+student.getId()+" | name:"+student.getName();
    }
}

運(yùn)行結(jié)果:
在這里插入圖片描述

6. 配置集合以及讀取集合

在配置文件中創(chuàng)建一個(gè)集合:
在這里插入圖片描述
創(chuàng)建和配置文件中相對(duì)于的類:

@Component
@ConfigurationProperties(prefix = "dbtypes")
@Data
public class DBTypes {private List name;//這個(gè)名字必須和配置文件中的name所對(duì)應(yīng)
}

運(yùn)行測試類:

@RestController
public class TestController {@Autowired
    private DBTypes dbTypes;
    @RequestMapping("/hi")
    public String sayhi(){return dbTypes.toString();
    }
}

運(yùn)行結(jié)果:
在這里插入圖片描述

7. 設(shè)置不同環(huán)境的配置項(xiàng)

創(chuàng)建一下配置文件:
在這里插入圖片描述
每個(gè)配置文件中都配置一個(gè)端口號(hào),然后在 application.yml 中選擇某一個(gè)配置,如application-dev.yml:
在這里插入圖片描述

那么啟動(dòng)項(xiàng)目,項(xiàng)目將在8888端口運(yùn)行,即dev端口:
在這里插入圖片描述

需要注意的是:在創(chuàng)建各個(gè)環(huán)境的配置文件時(shí),必須以 application- 開頭,其后面跟著字符就是環(huán)境名稱,在 application.yml 中選擇時(shí),寫的就是它。即:
在這里插入圖片描述

這種方式就可以控制程序在不同環(huán)境中運(yùn)行,比如果dev環(huán)境使用的時(shí)數(shù)據(jù)庫A,test環(huán)境數(shù)據(jù)庫B,切換這兩者時(shí),就只需要在application.yml中重寫選擇就行,就不需要重新寫,即用啥環(huán)境就選擇啥環(huán)境

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購,新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧

分享標(biāo)題:【淺學(xué)Java】SpringBoot配置文件-創(chuàng)新互聯(lián)
網(wǎng)站URL:http://muchs.cn/article40/pgiho.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站營銷、網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、響應(yīng)式網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司