【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。
- 打包方式通常與所生成的構件檔案的副檔名對應,比如:.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即可
參考連結: