溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SpringBoot項目的parent依賴和配置文件*.properties、*.yml詳解

發布時間:2020-03-04 16:42:23 來源:網絡 閱讀:1394 作者:liduchang 欄目:軟件技術

1.idea創建SpringBoot項目

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

    2.SpringBoot項目的parent

  • 最后創建的SpringBoot的項目結構如下,打開pom文件
  • 這里定義了一個SpringBoot項目的父級項目依賴
  • 按住Ctrl鍵配合鼠標的左鍵點擊進去
    SpringBoot項目的parent依賴和配置文件*.properties、*.yml詳解
  • 進去后重要的看紅框里面的,這里又定義了一個parent父級,為spring-boot-dependencies,從名字上就大概能看出這是SpringBoot的依賴管理

然后第二個紅框內所說明的內容大概如下:

  1. 定義了java的編譯版本為1.8
  2. 使用UTF-8格式編碼
  3. 打包操作的時候的配置
  4. 然后就是紅框下面的就是插件的配置,和資源的過濾
    SpringBoot項目的parent依賴和配置文件*.properties、*.yml詳解
    然后Ctrl+鼠標左鍵點擊spring-boot-dependencies,如圖
  5. 這里就是SpringBoot的依賴和依賴版本的管理,可以看到一堆的版本號
  6. 主要使用的是properties和dependencyManagement來進行版本號和依賴的管理,這既是為什么我們在SpringBoot項目引入大部分的依賴時不用寫版本號,因為這是maven的依賴傳遞的關系,父級已經幫你定義好了版本號了
  7. 另外我們也可以使用properties和dependencyManagement在我們自己的項目中自定義自己的版本號,不使用父級幫我們提供的版本號,參考如下:
<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項目的parent依賴和配置文件*.properties、*.yml詳解

3.SpringBoot的配置文件

在SpringBoot項目中的配置文件的格式有兩種properties和yml,文件的位置如下(優先級由高到低,這里解釋一下優先級的意思就是,在項目加載jvm的時候會優先加載哪個位置的配置文件):

  • 當前項目根目錄下的 config 目錄下
  • 當前項目的根目錄下
  • resources 目錄下的 config 目錄下
  • resources 目錄下
    SpringBoot項目的parent依賴和配置文件*.properties、*.yml詳解
  • 另外除了SpringBoot給我們默認配的配置文件的位置,我們也可以自己指定配置文件的位置。如圖所示,即為在項目的resources目錄下創建一個myconfig目錄,然后把application.properties文件放在這個目錄下
    SpringBoot項目的parent依賴和配置文件*.properties、*.yml詳解
  • 另外我們也可以在啟動項目的時候,指定配置文件的位置,這個的操作主要針對于已經打包好的項目,無法修改配置文件了
    java -jar demo.jar --spring.config.location=classpath:/myconfig/

    最后是修改application.properties/application.yml配置文件的名字,因為我們的默認配置文件的名字也可以不叫作這個默認的名字,例如修改為myconfig.properties/myconfig.yml.如圖,在啟動項目的時候通過spring.config.name=myconfig來指定配置文件的名字
    SpringBoot項目的parent依賴和配置文件*.properties、*.yml詳解
    另外在已經打包好的項目的時候也可以通過下面的啟動命令來指定配置文件的名字

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

最后可以同時執行多條命令,如下:

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

3.SpringBoot的配置文件語法

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

這段數據綁定到一個bean對象中,如下代碼:

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

當yml配置文件中取單個值的時候,如下

type:
    color:white

取值

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

更多的教程請關注:非科班的科班,若是覺得教程對你有幫助的請點個贊,謝謝

最后分享一波java的資源,資源包括java從入門到開發的全套視頻,以及java的26個項目,資源比較大,大小大概是290g左右,鏈接容易失效,獲取的方式是關注公眾號:非科班的科班,讓后回復:java項目即可獲得,祝大家學習愉快

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女