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

Spring Boot配置文件

這篇具有很好參考價值的文章主要介紹了Spring Boot配置文件。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

Spring Boot配置文件

日升時奮斗,日落時自省?

目錄

1、配置文件作用

2、配置文件格式

2.1、使用注意

3、properties配置文件

3.1、注釋中文問題

3.2、properties語法格式

3.3、讀取配置文件

3.3.1、Value讀取

3.3.2、PropertySource讀取

3.3.3、原生方式讀取配置文件

3.4、properties缺點分析

4、yml配置文件

4.1、優(yōu)點分析

4.2、yml語法格式

4.2.1、設(shè)置不同數(shù)據(jù)類型

4.2.2、yml配置讀取

?4.2.3、配置對象

4.2.4、配置集合

5、properties和yml區(qū)別

6、設(shè)置不同創(chuàng)建環(huán)境的配置文件


1、配置文件作用

配置文件是一種存儲應(yīng)用程序配置信息的文件,通常采用純文本格式

<1>存儲應(yīng)用程序的配置參數(shù):在軟件開發(fā)過程中,很多參數(shù)需要在運行時進(jìn)行調(diào)整,例如數(shù)據(jù)庫連接、日志級別等。通過配置文件,可以將這些參數(shù)組織起來并進(jìn)行統(tǒng)一管理

<2>方便程序的部署:在程序部署時,需要根據(jù)不同的環(huán)境進(jìn)行不同的配置,例如開發(fā)環(huán)境、測試環(huán)境和生產(chǎn)環(huán)境等。通過配置文件,可以輕松地進(jìn)行環(huán)境切換,從而方便程序的部署和管理

2、配置文件格式

Spring Boot配置文件主要分為兩種格式:

.properties (比較老的格式)

.yml(也能寫作.yaml 都算是新版格式)

Spring Boot配置文件

兩者都是可以出現(xiàn)在一個目錄下使用的(使用就是同時存在而且還能跑)

類似于紙幣,舊紙幣和新紙幣,.properties 后綴的配置文件 就類似于“舊紙幣”,.yml類似于“新紙幣”但是效果都是一樣的100元,不能當(dāng)50元用嘛,還是原來的價值(都可以使用,也可以并存)

2.1、使用注意

<1>雖然.properties文件和.yml文件是可以在同一個項目中,但是這樣也會有所影響,.properties文件的優(yōu)先級還是比較高的,.properties配置文件會先進(jìn)行加載,.yml配置文件也加載但是需要在.properties配置文件之后

<2>盡可能的使用一種格式的配置文件,便于維護(降低故障可能性),推薦在剛剛開始學(xué)習(xí)SpringBoot的時候使用.properties配置文件

3、properties配置文件

properties配置文件是早期文件格式,也是默認(rèn)格式,在創(chuàng)建Spring Boot項目時,會直接創(chuàng)建好

3.1、注釋中文問題

有的友友肯定會遇到注釋中文亂碼?

Spring Boot配置文件

?在配置文件中輸入 中文注釋,當(dāng)關(guān)閉idea再次打開時就會出現(xiàn)亂碼

不如提前解決這個問題,以免后面遇到了臨時處理很慌亂(提前預(yù)判)(修改兩個地方)

<1>當(dāng)前項目修改字符集

Spring Boot配置文件

<2>修改新項目的字符集

Spring Boot配置文件最后操作:就是把本項目剛剛加載的properties配置文件給刪了,自己從新創(chuàng)建一個,就也是utf-8字符集?

3.2、properties語法格式

properties是鍵值對的形式配置的,鍵值連接方式是 “= ”連接的

這里演示幾個給友友們看,這里推薦友友們下載一個插件(這是社區(qū)版的插件,可以支持配置文件的快捷提示,方面我們輸入)

File -> Settings -> plugins

Spring Boot配置文件

?安裝完成后,idea重啟 就可以了

# 首次使用properties配置文件
#配置文件中 設(shè)置端口號
server.port=8080
#設(shè)置數(shù)據(jù)庫連接
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/class?characterEncoding=utf-8
spring.datasource.username=root
spring.datasource.password=root

#也可以自定義 設(shè)置鍵值對

javaclass=myclass

3.3、讀取配置文件

配置不僅僅可以設(shè)置連接,端口號等固定操作,還可以設(shè)置自定義,在項目中會有主動讀取配置文件內(nèi)容情況,這里就涉及到了一個新的注解@Value來實現(xiàn)

3.3.1、Value讀取

使用操作:@Value("${key}")? ?這里的key就是鍵

就以上面的配置文件為例,我們拿一下 端口號 和 自定義設(shè)置的鍵值對

Spring Boot配置文件

@RestController   //相當(dāng)于  @Controller注解 和 @ResponseBody注解
@RequestMapping("/test")         //設(shè)置路由
public class TestController {

    @Value("${server.port}")
    public String port;

    @Value("${javaclass}")
    public String mystr1;

    @RequestMapping("/port")   //設(shè)置二級路由
    public void sayhi(){
        System.out.println("從配置文件中拿出的端口號:"+port);
        System.out.println("自定義配置文件鍵值對取值:"+mystr1);
    }
}

類寫完之后,開始啟動Maven ,此時啟動控制臺并不會打印什么,需要訪問這里寫的myport路由

控制臺才會顯示打印結(jié)果

運行結(jié)果:?都是我們剛剛配置文件中設(shè)置的

Spring Boot配置文件

3.3.2、PropertySource讀取

@PropertySource注解讀取方法只能讀取properties配置文件

下面就來演示@PropertySource注解的讀取操作,這里是指定讀取哪個properties配置文件

使用一個類來演示

//組合注解
@RestController
//該注解 指定讀取的配置文件 如果出現(xiàn)亂碼問題也可以設(shè)置字符集
@PropertySource(value = "application.properties",encoding = "utf8")
//設(shè)置路由地址
@RequestMapping("/proper")
public class ProperController {
    @Value("${server.port}")
    private String port;

    @Value("${spring.datasource.url}")
    private String url;
    @RequestMapping("sayhi")
    public void sayhi(){
        System.out.println("指定配置文件獲取端口:"+port);
        System.out.println("指定配置文件獲取連接:"+url);
    }
}

?剩下部分就交給啟動了,啟動后需要訪問路由才能看見打印結(jié)果

運行結(jié)果:(友友們也可以從新創(chuàng)建一個properties配置文件進(jìn)行操作,兩個配置文件中設(shè)置不同的端口號,想要加載那個就給注解中添加那個配置文件)

Spring Boot配置文件

注:該注解只能支持properties為后綴的配置文件?

3.3.3、原生方式讀取配置文件

原生的讀取配置文件的方式是使用 Properties 類,該類只支持以 .properties 為后綴的屬性文件,不支持讀取 YAML 格式的配置文件

@RestController
@RequestMapping("/native")
public class NativeController {
    @RequestMapping("/sayhi")
    public void sayhi() throws IOException {
        //創(chuàng)建properties對象 
        Properties properties=new Properties();
        //獲取配置文件中的字節(jié)   同時設(shè)置字符集
        InputStreamReader inputStreamReader=new InputStreamReader(
                this.getClass().getClassLoader().getResourceAsStream("application.properties"),
                StandardCharsets.UTF_8);
        //properties配置文件加載字節(jié)流
        properties.load(inputStreamReader);
        //獲取后就可以直接進(jìn)行打印了
        System.out.println("Properties port:"+properties.getProperty("server.port"));
    }
}

3.4、properties缺點分析

properties配置是以鍵值對的形式配置的

但是配置冗余代碼過多,前面寫有一個連接數(shù)據(jù)庫的配置(url,username,password前綴相同但是都需要再寫一次)

Spring Boot配置文件

?當(dāng)然除了這個缺點,有個有利于我們的優(yōu)點就是格式很簡單(“=”號連接的鍵值對),允許空格隨便打

4、yml配置文件

yml全稱是yaml(Yet Another Markup Language),是一種基于文本的數(shù)據(jù)序列化語言,這里說yml是一種“語言”,是一種新的通用數(shù)據(jù)序列化格式(操作簡潔)

4.1、優(yōu)點分析

<1>易讀性高:YAML的語法結(jié)構(gòu)簡單、清晰,易于理解和閱讀。它的格式類似于自然語言,可以直接將數(shù)據(jù)表示為鍵值對,而不需要大量的標(biāo)記和轉(zhuǎn)義字符。

<2>可維護性高:由于YAML的易讀性,它更容易維護和修改。在開發(fā)過程中,程序員可以使用YAML格式的配置文件輕松地進(jìn)行調(diào)試和修改,而無需關(guān)心底層的數(shù)據(jù)結(jié)構(gòu)。

<3>支持多種類型的數(shù)據(jù):除了常見的字符串、數(shù)字、布爾值之外,YAML還支持?jǐn)?shù)組、哈希表等多種類型的數(shù)據(jù),能夠滿足各種應(yīng)用場景的需求。同時,YAML也支持一些高級特性,比如引用和錨點等,方便用戶在大型文件中進(jìn)行數(shù)據(jù)共享和重復(fù)利用。

<4>平臺無關(guān)性:YAML是基于文本的數(shù)據(jù)序列化格式,不依賴于任何特定的編程語言或操作系統(tǒng)平臺,因此具有良好的跨平臺可移植性。

<5>支持編程語言更為豐富,它不止限制于java使用,也可以使用在Python、PHP、JS等

雖然優(yōu)點很多,但是初學(xué)者使用Spring Boot不推薦使用,格式規(guī)定簡潔能省很多事情,但是格式是比較固定的,不謹(jǐn)慎容易出錯

4.2、yml語法格式

yml是樹形結(jié)構(gòu)的配置文件,優(yōu)點類似于Python的基礎(chǔ)語法格式,空格劃分等級,這里也是使用鍵值方式,連接鍵值方式 “key: value”

注:key后面有一個:冒號和一個空格,這個空格不能少(少了會報錯)

這里就還是拿剛剛properties的配置再yml中再寫一下

#yml配置文件 設(shè)置端口號
server:
  port: 8080
# 設(shè)置連接數(shù)據(jù)庫
spring:
  datasource:
    url: jdbc:mysql://127.0.0.1:3306/class?characterEncoding=utf8
    username: root
    password: root
#設(shè)置自定義 鍵值
javaclass: myclass

代碼冗余減少了,連接數(shù)據(jù)庫需要寫一次spring: datasource:?

4.2.1、設(shè)置不同數(shù)據(jù)類型

#設(shè)置字符串 以下這些都是我們自己設(shè)置的鍵值 不是yml中自帶的
string.value: string-hello

#設(shè)置布爾類型
boolean.value: true;

#設(shè)置整數(shù)
int.value: 100

#設(shè)置浮點數(shù)
float.value: 2.712
float.value1: 2712e-5  #使用科學(xué)計數(shù)法

#NULL表示 ~
null.value: ~

4.2.2、yml配置讀取

yml的讀取操作和properties配置文件基本是一樣的,使用@Value注解 參數(shù)中除了把key放入,注意:不是使用:冒號連接,這里獲取對象是.點來連接,現(xiàn)在我們先把剛剛properties配置文件中的內(nèi)容注釋掉, 以免影響yml加載,properties加載早于yml,也會優(yōu)先使用properties

還是在controller包中添加一個新類在寫yml讀取,ReadYml類

Spring Boot配置文件

?4.2.3、配置對象

在配置文件中也可以寫一個對象以及對象的屬性

下面就來展示一下

#可以寫成鍵值不同等級的形式
student:
  id: 1
  name: 白無常
  age: 20
#也可以將對象直接寫成類似數(shù)組的形式 行內(nèi)寫法
student1: {id: 2,name: 黑無常, age: 25}

針對對象的讀取就不能通過@Value注解來實現(xiàn)了,需要使用另外一個注解,此處又要接觸一個新的注解了@ConfigurationProperties注解來讀取

讀取對象是將配置文件中的對象獲取,所以要添加注解加載配置文件中指定的對象

這里需要創(chuàng)建一個對應(yīng)的實體類,當(dāng)然也不一定完全需要,多幾個屬性,最多就是值為null

Spring Boot配置文件

實體類代碼:

@ConfigurationProperties(prefix = "student")   //加載配置文件中 對應(yīng)到的對象
@Component                            //類注解
@Setter//lombok set方法注解
@Getter//lombok get方法注解
@ToString//lombok toString方法注解
public class StudentComponent {
    private int id ;
    private String name;
    private int age;
}

控制層代碼:

@RestController   //相當(dāng)于  @Controller注解 和 @ResponseBody注解
@RequestMapping("/test")         //設(shè)置路由
public class TestController {

    @Value("${server.port}")
    public String port;

    @Value("${javaclass}")
    public String mystr1;


    @Autowired
    private StudentComponent studentComponent;

    @RequestMapping("/port")   //設(shè)置二級路由
    public void sayhi(){
        System.out.println("從配置文件中拿出的端口號:"+port);
        System.out.println("自定義配置文件鍵值對取值:"+mystr1);
        System.out.println(studentComponent.toString());
    }
}

4.2.4、配置集合

配置文件也可以存放list集合,寫法上和對象有幾分相似

配置文件代碼 ,這里寫的代碼也是yml文件中寫的

#設(shè)置集合
databasetypes:
  name: [mysql,sqlserver,db]

#集合的行內(nèi)寫法
databaserow: {name: [mysql,sqlserver,db]}]}

讀取集合:

這里我們還需要創(chuàng)建一個實體類來接收這個集合?(如下操作)

Spring Boot配置文件

?針對集合創(chuàng)建的實體類:

@ConfigurationProperties(prefix = "databasetypes")
@RestController
@Setter
@Getter
@ToString
public class StudentComponent2 {
    private List<String> name;
}

?注:prefix如果注解中參數(shù)只有一個,可以加也不加,前面寫的就沒有加

屬性注入,這里就不在附加代碼了,在之前附加的代碼上添加即可

當(dāng)然了,系統(tǒng)配置不是就止于此(有需求的友友們,可以自行去官網(wǎng)看看,下面是官網(wǎng)網(wǎng)址)

Common Application Properties

?5、properties和yml區(qū)別

<1>語法:Properties 使用簡單的鍵值對格式,例如 key=value;而 YAML 使用縮進(jìn)和換行來表示數(shù)據(jù)結(jié)構(gòu)

<2>數(shù)據(jù)類型:Properties 中的值只能是字符串類型;而 YAML 支持多種數(shù)據(jù)類型,例如字符串、整數(shù)、浮點數(shù)、布爾值、日期等

<3>復(fù)雜度:Properties 的數(shù)據(jù)結(jié)構(gòu)相對簡單,通常用于存儲簡單的配置信息;而 YAML 支持復(fù)雜的數(shù)據(jù)結(jié)構(gòu),例如列表、嵌套結(jié)構(gòu)等,更適合存儲較為復(fù)雜的數(shù)據(jù)

<4>可讀性:由于 YAML 使用縮進(jìn)和換行進(jìn)行格式化,具有很好的可讀性和易用性,更容易被人類閱讀和編輯;而 Properties 的格式相對簡單,不夠直觀

6、設(shè)置不同創(chuàng)建環(huán)境的配置文件

此處問就來使用一套配置文件,這里使用yml這套配置文件,這里就將properties配置文件刪除或者注釋掉(同時對應(yīng)的類也需要稍微做已處理)

針對不同平臺需要端口號不同?

例如:

開發(fā)環(huán)境:需要使用端口號為 9090

測試環(huán)境:需要使用端口號位 8090

?就以這兩個環(huán)境來解釋 ,現(xiàn)在每一個環(huán)境就需要一個配置文件,那就分別創(chuàng)建一個配置文件,同時這里還會有一個主配置文件,主配置文件中不需要設(shè)置端口號,因為不同環(huán)境下有不同的端口號(需要設(shè)置的是不同的內(nèi)容,而相同內(nèi)容不需要設(shè)置),主配置文件是公用的

操作: spring: profiles: active: 文件名可以修改的部分

Spring Boot配置文件

?我們這里創(chuàng)建的文件看著比較有規(guī)律,實際上只能這么創(chuàng)建,這是一種創(chuàng)建格式

例如: application-dev.yml? 其實只有黑色這部分我們能改,其他都是固定格式,dev也就是創(chuàng)建的名稱

Spring Boot配置文件

?注:公共部分放在主配置文件中,只有特殊部分用其他配置文件來表示文章來源地址http://www.zghlxwxcb.cn/news/detail-429370.html

到了這里,關(guān)于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ìn)行投訴反饋,一經(jīng)查實,立即刪除!

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

相關(guān)文章

  • 【Spring Boot】Spring Boot配置文件詳情

    【Spring Boot】Spring Boot配置文件詳情

    ?Spring Boot是一個開源的Java框架,用于快速構(gòu)建應(yīng)用程序和微服務(wù)。它基于Spring Framework,通過自動化配置和約定優(yōu)于配置的方式,使開發(fā)人員可以更快地啟動和運行應(yīng)用程序。Spring Boot提供了許多開箱即用的功能和插件,包括嵌入式Web服務(wù)器、安全性、數(shù)據(jù)訪問、緩存、測試

    2024年02月12日
    瀏覽(20)
  • Spring —— Spring Boot 配置文件

    Spring —— Spring Boot 配置文件

    JavaEE傳送門 JavaEE Spring —— Bean 作用域和生命周期 Spring —— Spring Boot 創(chuàng)建和使用 如果沒有配置信息, Spring Boot 項目就不能連接和此操作數(shù)據(jù)庫, 甚至是不能保存可以用于排查問題的關(guān)鍵日志, 配置文件的作用是非常重要的. 系統(tǒng)使用的配置文件 (系統(tǒng)配置文件), 如端口號的配

    2023年04月09日
    瀏覽(20)
  • Spring Boot配置文件

    Spring Boot配置文件

    日升時奮斗,日落時自省? 目錄 1、配置文件作用 2、配置文件格式 2.1、使用注意 3、properties配置文件 3.1、注釋中文問題 3.2、properties語法格式 3.3、讀取配置文件 3.3.1、Value讀取 3.3.2、PropertySource讀取 3.3.3、原生方式讀取配置文件 3.4、properties缺點分析 4、yml配置文件 4.1、優(yōu)點

    2024年02月01日
    瀏覽(20)
  • 【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日
    瀏覽(37)
  • Spring Boot的配置文件

    Spring Boot的配置文件

    Spring Boot中的配置文件有兩種:properties格式和yml格式 一、propertise格式 propertise格式是Springboot默認(rèn)的配置文件的格式,它才有鍵值對key=value的方式存儲配置信息,有系統(tǒng)key值和自定義key值兩類。 系統(tǒng)key值就是Spring boot約定的一些key值,通過設(shè)置這些key對應(yīng)的value值可以配置對應(yīng)

    2024年02月09日
    瀏覽(17)
  • Spring Boot讀取配置文件

    Spring Boot 是一種用于快速構(gòu)建基于Spring的應(yīng)用程序的框架,它提供了很多便利的功能和約定,使開發(fā)者可以快速搭建、配置和部署應(yīng)用程序。在Spring Boot中,讀取配置文件是一個非常常見的任務(wù),本文將介紹如何在Spring Boot應(yīng)用程序中讀取配置文件,并使用讀取到的配置信息。

    2024年02月07日
    瀏覽(20)
  • Spring Boot 系列2 -- 配置文件

    Spring Boot 系列2 -- 配置文件

    目錄 1. 配置文件的作用 2. 配置文件的格式 3.?properties 配置文件說明 3.1 properties 基本語法 3.2 讀取配置文件 3.3 properties 缺點 4.yml 配置文件說明 4.1 yml 基本語法 4.2 yml 使用進(jìn)階 4.2.1 yml 配置不同數(shù)據(jù)類型及 null 4.2.2?yml 配置讀取 4.2.3?注意事項:value 值加單雙引號 4.2.4 配置對象

    2024年02月15日
    瀏覽(25)
  • Spring Boot 配置文件和日志

    Spring Boot 配置文件和日志

    目錄 配置文件格式 properties配置文件說明 1.properties基本語法 2.讀取配置文件 3.properties缺點 yml配置文件說明 1.yml基本語法 2.配置不同數(shù)據(jù)類型 3.字符串特殊情況 4.配置對象 properties和yml對比 日志 日志的使用 日志級別 日志持久化 Lombok Lombok原理解釋 Spring中配置文件有很重要的

    2024年01月19日
    瀏覽(20)
  • Spring Boot配置保存日志文件

    springboot日志配置: springboot默認(rèn)日志是打印再console中的,不會保存在文件中。我們項目上線肯定要保存日志用于分析的。 一、使用xml配置日志保存(并不需要pom配置slf4j依賴,starter里面已經(jīng)配置了依賴了) 1、在項目的resources目錄下創(chuàng)建一個【logback-spring.xml】日志配置文件

    2024年02月11日
    瀏覽(29)
  • 【JavaEE】Spring Boot - 配置文件

    【JavaEE】Spring Boot - 配置文件

    【JavaEE】Spring Boot 開發(fā)要點總結(jié)(2) 所有重要和必要的數(shù)據(jù)都是在配置文件中配置的 簡潔明了,干凈利落,修改方便,相比于xml,更有代碼的感覺,功能用處也更多更被重視 例如: 數(shù)據(jù)庫的連接時的需要的信息配置(用戶名,url,密碼) 項目的啟動端口是什么(server.po

    2024年02月14日
    瀏覽(25)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包