1. 程式人生 > 其它 >【Springboot學習】從零開始學習Springboot(一)

【Springboot學習】從零開始學習Springboot(一)

  個人學習Springboot的記錄,一些坑問題我會整合起來並給出解決方法,遇到問題的地方將使用Q1:<問題描述> Q2:<問題描述>這樣的序號來表示,根據序號去文章下面找解決方法即可。

 

使用Idea初始化Springboot專案

PS: Idea開發Springboot專案需要聯網

步驟:一個專案中File->Project Structure->Add(加號,用來新建一個模組)->Spring InitializrQ1:找不到Spring Initializr ->Next->填完工程屬性

Group Id、Artifact Id、Version、Package name都是自定義的,我是練習就隨便寫了,Java version要選擇你需要的版本,如果電腦不支援那需要去裝相應的版本。->選擇需要使用的Springboot版本,也可以用預設的,再選擇相應的依賴。->Next->Next->OK。

這樣一個Springboot專案就建立完成。

構件:

在maven中,任何一個依賴、外掛或者專案構建的輸出,都可以稱為構件。

Maven座標:

Maven通過構件的座標去唯一定位查詢,也就是說,在Maven倉庫中是通過座標標記來一一對應的管理每個構件的。

一個完整的Maven座標資訊,應該是由groupId、artifactId、version、packaging、classifier組成的。

一個簡單的座標定義
<groupId>org.SpringFramework</groupId>
<artifactId>spring-core</artifactId>
<version>4.2.7RELEASE</version>
<packaging>jar</packaging>

groupId: 定義當前maven專案從屬的實際專案。

    • maven專案和實際專案不一定實際對應。
    • groupId不應以同開發專案的公司或組織對應。
    • groupId的表述方式同Java包名的表述方式類似,通常與域名反向一一對應。

artifactId: 定義實際專案中的一個maven專案(實際專案中的模組)。

    • 推薦命名方式為:實際專案名稱-模組名稱。

version: 定義maven當前所處的版本。

packaging: 定義maven專案的打包方式。

    • 打包方式通常與所生成的構件檔案的副檔名對應,比如:.jar、.ear、.war、.pom等。打包方式是與工程構建的生命週期相對應的。packaging可以不指定,這時maven就會預設打包為jar。

classifier: 定義構建的附屬構件

    • 主構件的每個附屬構件也定義了唯一座標。
    • 不能直接定義一個maven專案的classifier,因為附屬構件不是由maven專案構建的時候直接預設生成的,而是由附加的其他外掛生成的。

groupId、artifactId、version是必須的,packaging是可選的,預設為jar,而classifier是不能直接定義的。

maven專案的構件檔名與座標也是有對應關係的,一般規則是artifactId-version[classifier].packaging。

 

Parent:

  • 所有Springboot都要繼承的專案,定義了若干個座標版本號(依賴管理,而非依賴),以達到減少依賴衝突的目的。
  • spring-boot-starter-parent各版本間存在著諸多座標版本不同。

Starter:

  • Springboot中常見專案名稱,定義了當前專案使用的所有依賴座標,以達到減少依賴配置的目的。

 

問題解答:

Q1: File->Setting->Plugins->Marketplace->搜尋: "Spring Initializr and Assistant"->Install->OK, 然後重啟Idea即可

參考連結: