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

1.idea創建SpringBoot項目

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

2.SpringBoot項目的parent

  • 最後創建的SpringBoot的項目結構如下,打開pom文件
  • 這裏定義了一個SpringBoot項目的父級項目依賴
  • 按住Ctrl鍵配合鼠標的左鍵點擊進去
    在這裏插入圖片描述
  • 進去後重要的看紅框裏面的,這裏又定義了一個parent父級,爲spring-boot-dependencies,從名字上就大概能看出這是SpringBoot的依賴管理

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

  1. 定義了java的編譯版本爲1.8
  2. 使用UTF-8格式編碼
  3. 打包操作的時候的配置
  4. 然後就是紅框下面的就是插件的配置,和資源的過濾
    在這裏插入圖片描述
    然後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>

在這裏插入圖片描述

3.SpringBoot的配置文件

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

  • 當前項目根目錄下的 config 目錄下
  • 當前項目的根目錄下
  • resources 目錄下的 config 目錄下
  • resources 目錄下
    在這裏插入圖片描述
  • 另外除了SpringBoot給我們默認配的配置文件的位置,我們也可以自己指定配置文件的位置。如圖所示,即爲在項目的resources目錄下創建一個myconfig目錄,然後把application.properties文件放在這個目錄下
    在這裏插入圖片描述
  • 另外我們也可以在啓動項目的時候,指定配置文件的位置,這個的操作主要針對於已經打包好的項目,無法修改配置文件了
java -jar demo.jar --spring.config.location=classpath:/myconfig/

最後是修改application.properties/application.yml配置文件的名字,因爲我們的默認配置文件的名字也可以不叫作這個默認的名字,例如修改爲myconfig.properties/myconfig.yml.如圖,在啓動項目的時候通過spring.config.name=myconfig來指定配置文件的名字
在這裏插入圖片描述
另外在已經打包好的項目的時候也可以通過下面的啓動命令來指定配置文件的名字

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項目即可獲得,祝大家學習愉快

發佈了63 篇原創文章 · 獲贊 34 · 訪問量 4876
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章