寫給我的朋友們的SpringBoot入門(一)

創(chuàng)建一個Spring Boot工程

1.首先我們打開了IntelliJ IDEA Ultimate,并選擇Create New Project


001.PNG

2.在New Project的左邊欄選擇Spring Initializer


002.PNG

這個時候我們要把Project SDK設(shè)置為系統(tǒng)中安裝的JDK
選擇New...婴梧,而后選擇JDK
003.PNG

選擇系統(tǒng)中安裝的JDK目錄(你的電腦中安裝的可能不一樣,可能你在用Java11或者12搬男,這個沒有關(guān)系护蝶,選擇JDK目錄就好)


004.PNG

3.點擊OK之后,可以發(fā)現(xiàn)這個窗口變成了類似這樣迄埃,然后我們Next
005.PNG

4.進入到Spring Boot工程信息的設(shè)置
這一步非常關(guān)鍵妄迁,請仔細看寝蹈。最初我們看到的給出的例子是這樣的
006.PNG
  • Group:因為Java,Kotlin和Scala等基于JVM的語言的源代碼是一個個Package組織起來的登淘。每一個Package在一個工程中肯定都是唯一的箫老。而Gradle(和Maven)作為一個全世界范圍內(nèi)通用的依賴管理系統(tǒng),它約定了所有的團隊以域名反寫作為包的前綴黔州,例如com.taobao耍鬓。因為域名在世界上是唯一的,這樣如果所有的團隊都以域名反寫作為包的前綴流妻,那么各個團隊所開發(fā)的代碼就不會引起沖突了牲蜀。你現(xiàn)在暫時未曾向Maven中央庫上傳自己的開源代碼,所以你可能不知道向Maven中央庫上傳代碼是強制要求使用域名反寫作為所有包的前綴的绅这。如果不開源自己的項目涣达,那么這個GroupID并不是強制的,但是我十分建議你遵循這樣一個以域名反寫作為Group的前綴的約定证薇。
  • Artifact:這個相當(dāng)于項目名稱度苔,根據(jù)你們自己的項目自行決定。
  • Type:請你選擇Gradle Project
  • Language:工程的編程語言浑度。因為你現(xiàn)在不會Kotlin寇窑,所以請選擇Java
  • Packaging:用于指定項目部署的時候的打包形式,現(xiàn)在在你不知所以然的時候箩张,請選擇Jar
  • Java Version:用于指定編譯生成的.class字節(jié)碼所支持的最低Java版本甩骏,為了最大兼容性考慮窗市,請選擇8
  • Version:是當(dāng)前工程的版本,可以遵循慣例的“三段式”——主版本.次要版本.小版本饮笛。主版本用于發(fā)布整個項目的重大更新咨察,例如Tensorflow2的發(fā)布,Python 3的發(fā)布缎浇。次要版本用于發(fā)布新特性扎拣。小版本一般用于修復(fù)Bug。但是版本號的規(guī)范各個團隊都有自己的約定素跺,請自行決定。不是那么重要誉券。
  • Name:指的是Spring Initializer所產(chǎn)生的Spring Boot啟動類的類名前綴指厌,默認是跟隨Artifact的命名。
  • Description無意義踊跟,可以隨意
  • Package:是Spring Boot啟動類所在的包踩验。我們可以看到是默認是用Group + Artifact,這一項不建議改變商玫。
    根據(jù)上面所介紹的各項配置箕憾,我們來填寫今天這樣一個工程的信息。
    007.PNG
  • Group:com.xxcore.code.jvm.spring
    因為我有一個域名是xxcore.com拳昌,然后我現(xiàn)在就用com.xxcore作為我的包名的前綴袭异,后面的code.jvm.spring是我自己對代碼的分類,這個不重要炬藤,你可以根據(jù)自己的情況和團隊的約定御铃。但是我強烈建議你一定要用域名反寫作為前綴,如果你沒有域名沈矿,可以用Github上真,比如我的Github賬號是BriskCore,那么groupID就可以用io.github.briskcore.code…………
  • Artifact:api
    在這里項目名稱選擇了api因為我估計我和你都是想構(gòu)建一個RESTful api服務(wù)羹膳。你們團隊可以用項目名稱作為Artifact
  • Type:請你選擇Gradle Project
  • Language:工程的編程語言睡互。因為你現(xiàn)在不會Kotlin,所以請選擇Java
  • Packaging:用于指定項目部署的時候的打包形式陵像,現(xiàn)在在你不知所以然的時候就珠,請選擇Jar
  • Java Version:用于指定編譯生成的.class字節(jié)碼所支持的最低Java版本,為了最大兼容性考慮蠢壹,請選擇8
  • Version:在這里我用了2019.7.1-SNAPSHOT嗓违,這個不重要,在工程中還可以修改图贸。所以請你隨意蹂季。
  • Name冕广,Description,Package偿洁,都用自動生成的撒汉,建議不要修改。
    然后我們點擊next
    5.進入Spring Boot依賴設(shè)置頁面


    008.PNG

這一步也請你跟著我做
我們首先在右上角版本選擇處下拉涕滋,選擇版本睬辐。可以選擇正式發(fā)布版,例如現(xiàn)在的2.1.6宾肺,以后可能會有2.2.x溯饵。也可以選擇“里程碑”版本,就是命名中帶有M的锨用。但是不建議選擇預(yù)覽版(SNAPSHOT)丰刊。現(xiàn)在我們選擇2.2.0 M4

009.PNG

請勾選如下依賴項

  • Developer Tools下的Spring Boot DevTools


    010.PNG
  • Web下的如下三項


    011.PNG
  • 因為我們至少要用到MySQL,所以請選擇SQL下面的如下三項
    012.PNG

    確保都選好之后就可以點擊Next了
    6.工程目錄選擇
    013.PNG

    ProjectName:是IntelliJ IDEA的項目名稱增拥,請與Artifact一致
    Project location是你的工程在本地磁盤中存放的位置啄巧,你不用和我一樣選擇同樣的目錄,但是最后一個子目錄請一定是Artifact和ProjectName掌栅,例如我這里的D:\IdeaProjects\api最后一個子目錄名稱就是我們的Artifact和ProjectName——api
    然后我們就可以點擊Finish秩仆。可能彈出這樣一個對話框猾封,這個是詢問你該工程目錄現(xiàn)在不存在澄耍,它會被IDEA新建的提示。你可能沒有這樣一個對話框忘衍,那一般也是正常的逾苫。
    014.PNG

7.在主界面里關(guān)于Gradle相關(guān)設(shè)置
IDEA會自動彈出這樣的設(shè)置窗口


015.PNG

這個是IDEA用來導(dǎo)入Gradle工程的,請勾選Use auto-import

016.PNG

這樣IDEA就會自動監(jiān)視配置文件build.grade的改變枚钓,自動更新
而后我們選擇OK铅搓,IDEA就會從互聯(lián)網(wǎng)上下載必要的依賴,這是一個比較慢的事情
018.PNG

019.PNG
020.PNG

上圖便是正在下載依賴搀捷,下面有一個小小的進度條星掰。這時候,請你耐心等待

8.依賴下載完成嫩舟!


021.PNG

當(dāng)我們看到IDEA沒有正在進行的任務(wù)氢烘,上圖的Build:Sync中的所有任務(wù)圖標(biāo)都是OK時,我們的依賴也就下載完成了家厌。
9.關(guān)于Gradle配置窗口
我們可以看到上圖右邊打開了一個工具欄


023.PNG

這個工具欄可能不會自己彈出來播玖。事實上,這個是我點開的饭于,他的開關(guān)在右邊有一個豎著的Gradle文字
這是一個非常有用的窗口蜀踏∥桑可以在里面執(zhí)行Task。他的主要用法我們留到下一次再說(我有點累了)果覆。這個工具箱的左上角有一個像圈圈一樣的圖標(biāo)颅痊,這個是使Gradle刷新依賴的。如果你因為網(wǎng)絡(luò)問題或者后期添加了什么依賴局待,他都會重新解析工程根目錄下的build.gradle配置文件斑响,然后從互聯(lián)網(wǎng)上下載依賴。如果你的build.gradle編寫有誤钳榨,那么這個刷新會失敗舰罚,你可以根據(jù)IDEA的提示去百度解決。
10.這是Spring Boot啟動類重绷,我們需要做出如下修改

022.PNG

我們可以看到這個啟動類位于com.xxcore.code.jvm.spring.api包中沸停。剛好就是我們的Group + Artifact組成的包。名字叫做ApiApplication是我們的Artifact——"api"改變成大駝峰式而后在其后加上Application組成的昭卓。
在@SpringApplication注解中加入如下的exclude參數(shù)
@SpringBootApplication(exclude= {DataSourceAutoConfiguration.class})
此時我們的啟動類應(yīng)該改變成

package com.xxcore.code.jvm.spring.api;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;

@SpringBootApplication(exclude= {DataSourceAutoConfiguration.class})
public class ApiApplication
{

    public static void main(String[] args)
    {
        SpringApplication.run(ApiApplication.class, args);
    }

}

一個默認的Hello world Controller和bootRun task

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市瘟滨,隨后出現(xiàn)的幾起案子候醒,更是在濱河造成了極大的恐慌,老刑警劉巖杂瘸,帶你破解...
    沈念sama閱讀 216,544評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件倒淫,死亡現(xiàn)場離奇詭異,居然都是意外死亡败玉,警方通過查閱死者的電腦和手機敌土,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來运翼,“玉大人返干,你說我怎么就攤上這事⊙剩” “怎么了矩欠?”我有些...
    開封第一講書人閱讀 162,764評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長江兢。 經(jīng)常有香客問我瘤运,道長健蕊,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,193評論 1 292
  • 正文 為了忘掉前任乳蓄,我火速辦了婚禮,結(jié)果婚禮上夕膀,老公的妹妹穿的比我還像新娘虚倒。我一直安慰自己美侦,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,216評論 6 388
  • 文/花漫 我一把揭開白布裹刮。 她就那樣靜靜地躺著音榜,像睡著了一般。 火紅的嫁衣襯著肌膚如雪捧弃。 梳的紋絲不亂的頭發(fā)上赠叼,一...
    開封第一講書人閱讀 51,182評論 1 299
  • 那天,我揣著相機與錄音违霞,去河邊找鬼嘴办。 笑死,一個胖子當(dāng)著我的面吹牛买鸽,可吹牛的內(nèi)容都是我干的涧郊。 我是一名探鬼主播,決...
    沈念sama閱讀 40,063評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼眼五,長吁一口氣:“原來是場噩夢啊……” “哼妆艘!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起看幼,我...
    開封第一講書人閱讀 38,917評論 0 274
  • 序言:老撾萬榮一對情侶失蹤批旺,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后诵姜,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體汽煮,經(jīng)...
    沈念sama閱讀 45,329評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,543評論 2 332
  • 正文 我和宋清朗相戀三年棚唆,在試婚紗的時候發(fā)現(xiàn)自己被綠了暇赤。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,722評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡宵凌,死狀恐怖鞋囊,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情摆寄,我是刑警寧澤失暴,帶...
    沈念sama閱讀 35,425評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站微饥,受9級特大地震影響逗扒,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜欠橘,卻給世界環(huán)境...
    茶點故事閱讀 41,019評論 3 326
  • 文/蒙蒙 一矩肩、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦黍檩、人聲如沸叉袍。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,671評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽喳逛。三九已至,卻和暖如春棵里,著一層夾襖步出監(jiān)牢的瞬間润文,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,825評論 1 269
  • 我被黑心中介騙來泰國打工殿怜, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留典蝌,地道東北人。 一個月前我還...
    沈念sama閱讀 47,729評論 2 368
  • 正文 我出身青樓头谜,卻偏偏與公主長得像骏掀,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子柱告,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,614評論 2 353