溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

SpringBoot項(xiàng)目的parent依賴(lài)和配置文件*.properties、*.yml詳解

發(fā)布時(shí)間:2020-03-04 16:42:23 來(lái)源:網(wǎng)絡(luò) 閱讀:1364 作者:liduchang 欄目:軟件技術(shù)

1.idea創(chuàng)建SpringBoot項(xiàng)目

  • idea創(chuàng)建SpringBoot項(xiàng)目應(yīng)該對(duì)很多人來(lái)說(shuō)已經(jīng)是菜到不能到菜的操作了,但是對(duì)于初學(xué)者小白來(lái)說(shuō),還是要講解一下的。打開(kāi)idea,然后選擇Spring Initializr直接點(diǎn)擊next,這里需要說(shuō)一下的是這個(gè)界面上有一個(gè)http://start.spring.io鏈接,這個(gè)鏈接就是SpringBoot的官網(wǎng)鏈接,大家可以到SpringBoot官網(wǎng)創(chuàng)建項(xiàng)目然后導(dǎo)入到idea中,這個(gè)操作就自行百度了,我想直接可以在idea中操作,為什么還要到官網(wǎng)上呢?可能太閑了吧
    SpringBoot項(xiàng)目的parent依賴(lài)和配置文件*.properties、*.yml詳解
  • 然后就是填寫(xiě)相關(guān)的信息,包括:
  • Group(組織名)
  • Artifact(為項(xiàng)目名稱(chēng),即項(xiàng)目對(duì)唯一標(biāo)識(shí)符)
  • Packaging:jar(打包方式)
  • Package(包名)
  • Java Version(java版本名)
    然后點(diǎn)擊next,進(jìn)入下一步
    SpringBoot項(xiàng)目的parent依賴(lài)和配置文件*.properties、*.yml詳解
  • 然后在這里選擇你需要的依賴(lài)的模塊,然后點(diǎn)擊next
    SpringBoot項(xiàng)目的parent依賴(lài)和配置文件*.properties、*.yml詳解
  • 最后選擇你的項(xiàng)目在本地的位置,點(diǎn)擊完成
    SpringBoot項(xiàng)目的parent依賴(lài)和配置文件*.properties、*.yml詳解

    2.SpringBoot項(xiàng)目的parent

  • 最后創(chuàng)建的SpringBoot的項(xiàng)目結(jié)構(gòu)如下,打開(kāi)pom文件
  • 這里定義了一個(gè)SpringBoot項(xiàng)目的父級(jí)項(xiàng)目依賴(lài)
  • 按住Ctrl鍵配合鼠標(biāo)的左鍵點(diǎn)擊進(jìn)去
    SpringBoot項(xiàng)目的parent依賴(lài)和配置文件*.properties、*.yml詳解
  • 進(jìn)去后重要的看紅框里面的,這里又定義了一個(gè)parent父級(jí),為spring-boot-dependencies,從名字上就大概能看出這是SpringBoot的依賴(lài)管理

然后第二個(gè)紅框內(nèi)所說(shuō)明的內(nèi)容大概如下:

  1. 定義了java的編譯版本為1.8
  2. 使用UTF-8格式編碼
  3. 打包操作的時(shí)候的配置
  4. 然后就是紅框下面的就是插件的配置,和資源的過(guò)濾
    SpringBoot項(xiàng)目的parent依賴(lài)和配置文件*.properties、*.yml詳解
    然后Ctrl+鼠標(biāo)左鍵點(diǎn)擊spring-boot-dependencies,如圖
  5. 這里就是SpringBoot的依賴(lài)和依賴(lài)版本的管理,可以看到一堆的版本號(hào)
  6. 主要使用的是properties和dependencyManagement來(lái)進(jìn)行版本號(hào)和依賴(lài)的管理,這既是為什么我們?cè)赟pringBoot項(xiàng)目引入大部分的依賴(lài)時(shí)不用寫(xiě)版本號(hào),因?yàn)檫@是maven的依賴(lài)傳遞的關(guān)系,父級(jí)已經(jīng)幫你定義好了版本號(hào)了
  7. 另外我們也可以使用properties和dependencyManagement在我們自己的項(xiàng)目中自定義自己的版本號(hào),不使用父級(jí)幫我們提供的版本號(hào),參考如下:
<dependencyManagement>
 <dependencies>
    <dependency>
    <groupId>org.springframework.data</groupId>
    <artifactId>spring-data-releasetrain</artifactId>
    <version>Fowler-SR2</version>
    <type>pom</type>
    <scope>import</scope>
  </dependency> 
  <dependency>
    <!-- Import dependency management from Spring Boot -->
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-dependencies</artifactId>
    <version>2.1.2.RELEASE</version>
    <type>pom</type>
    <scope>import</scope>
  </dependency>
 </dependencies>
</dependencyManagement>

SpringBoot項(xiàng)目的parent依賴(lài)和配置文件*.properties、*.yml詳解

3.SpringBoot的配置文件

在SpringBoot項(xiàng)目中的配置文件的格式有兩種properties和yml,文件的位置如下(優(yōu)先級(jí)由高到低,這里解釋一下優(yōu)先級(jí)的意思就是,在項(xiàng)目加載jvm的時(shí)候會(huì)優(yōu)先加載哪個(gè)位置的配置文件):

  • 當(dāng)前項(xiàng)目根目錄下的 config 目錄下
  • 當(dāng)前項(xiàng)目的根目錄下
  • resources 目錄下的 config 目錄下
  • resources 目錄下
    SpringBoot項(xiàng)目的parent依賴(lài)和配置文件*.properties、*.yml詳解
  • 另外除了SpringBoot給我們默認(rèn)配的配置文件的位置,我們也可以自己指定配置文件的位置。如圖所示,即為在項(xiàng)目的resources目錄下創(chuàng)建一個(gè)myconfig目錄,然后把a(bǔ)pplication.properties文件放在這個(gè)目錄下
    SpringBoot項(xiàng)目的parent依賴(lài)和配置文件*.properties、*.yml詳解
  • 另外我們也可以在啟動(dòng)項(xiàng)目的時(shí)候,指定配置文件的位置,這個(gè)的操作主要針對(duì)于已經(jīng)打包好的項(xiàng)目,無(wú)法修改配置文件了
    java -jar demo.jar --spring.config.location=classpath:/myconfig/

    最后是修改application.properties/application.yml配置文件的名字,因?yàn)槲覀兊哪J(rèn)配置文件的名字也可以不叫作這個(gè)默認(rèn)的名字,例如修改為myconfig.properties/myconfig.yml.如圖,在啟動(dòng)項(xiàng)目的時(shí)候通過(guò)spring.config.name=myconfig來(lái)指定配置文件的名字
    SpringBoot項(xiàng)目的parent依賴(lài)和配置文件*.properties、*.yml詳解
    另外在已經(jīng)打包好的項(xiàng)目的時(shí)候也可以通過(guò)下面的啟動(dòng)命令來(lái)指定配置文件的名字

java -jar demo.jar --spring.config.name=myconfig

最后可以同時(shí)執(zhí)行多條命令,如下:

java -jar demo.jar --spring,config.name=myconfig;spring.config.location=classpath:/myconfig/

3.SpringBoot的配置文件語(yǔ)法

  • properties的語(yǔ)法
    properties的語(yǔ)法是基于key和value形式的,鍵與值之間通過(guò)等號(hào)連接,例如:
    person.name=李依依
    person.age=18
  • properties中值的注入,通過(guò)@Value注解注入值,注意也要加上@Component注解將對(duì)象交給Spring容器管理
@Component
public class Person{
    @Value("${person.name}")
    private String name;
    @Value("${person.age}")
    private Integer age;
    //省略getter/setter
}
  • 類(lèi)型安全的屬性注入,另外SpringBoot提供了另一種注入的方式,主要解決要注入很多屬性的時(shí)候,要寫(xiě)很多次的@Value
@Component
@PropertySource("classpath:person.properties")
@ConfigurationProperties(prefix = "person")
public class Book {
    private String name;
    private Integer age;
    //省略getter/setter
}
  • yml的語(yǔ)法
    相對(duì)比properties的語(yǔ)法yml的語(yǔ)法簡(jiǎn)潔明了,主次分明,語(yǔ)法如下:yml是以:分割的。
    數(shù)組的值的注入:
type:
    color:
        - white
        - black

這段數(shù)據(jù)綁定到一個(gè)bean對(duì)象中,如下代碼:

@ConfigurationProperties(prefix="type")
@Component
public class Config{
    private List<String> color = new ArrayList<String>()
    public List<String> getColor(){
        return this.color
    }
}

當(dāng)yml配置文件中取單個(gè)值的時(shí)候,如下

type:
    color:white

取值

@Value("${type.color}")
private String color

更多的教程請(qǐng)關(guān)注:非科班的科班,若是覺(jué)得教程對(duì)你有幫助的請(qǐng)點(diǎn)個(gè)贊,謝謝

最后分享一波java的資源,資源包括java從入門(mén)到開(kāi)發(fā)的全套視頻,以及java的26個(gè)項(xiàng)目,資源比較大,大小大概是290g左右,鏈接容易失效,獲取的方式是關(guān)注公眾號(hào):非科班的科班,讓后回復(fù):java項(xiàng)目即可獲得,祝大家學(xué)習(xí)愉快

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI