萬事開頭難—第一個SpringBoot應(yīng)用

學(xué)習(xí)開發(fā)SpringBoot之初遇到的第一個攔路虎竟然是創(chuàng)建SpringBoot應(yīng)用斧抱,網(wǎng)上選她千百度娇豫,驀然回首發(fā)現(xiàn)網(wǎng)上的教程多多少少都存在問題耀找。什么問題呢此洲?首先都是都是創(chuàng)建DEMO厂汗,其次創(chuàng)建過程中遇到的選項含義不僅沒有解釋,而且很多選項選錯了呜师。為避免大家走同樣的彎路娶桦,在這里重新編寫了一篇基礎(chǔ)教程。

廢話少說汁汗,下面正式開始教程:

1. 第一步干什么呢衷畦?當然是打開IDEA啦

首先打開IDEA,點擊 +Create New Project. 開始創(chuàng)建一個新項目:

打開IDEA新建項目

下面出現(xiàn)了創(chuàng)建新項目的第一步知牌,請按照下圖上的步驟選擇即可:

選擇初始化工具及模板選擇

簡單介紹一下上面的選項:

    1. 選擇左側(cè)的Spring Initializr選項:Spring Initializr是官方提供的一個用來初始化的工具祈争,通過在Spring Initializr的界面窗口上簡單的配置,就能輕松完成Spring Boot的項目的初始化送爸。
    1. 選擇頂部的Project SDK選項:通過這個項目可以選擇項目運行JDK版本環(huán)境铛嘱,這里默認讀取的是當前用戶的JAVA_HOME環(huán)境變量,如果這里沒有任何的默認選項袭厂,請參考前面JDK環(huán)境搭建的章節(jié)墨吓。
    1. 選擇頂部的Initializr Service URL:選擇生在項目模板的服務(wù)器地址,這里選擇的是默認選項Default : https://start.spring.io纹磺,(如果默認的模板無法滿足需求還可以選擇Custom從指定的鏈接加載模板帖烘,動手能力強的同學(xué)還可以選擇本地搭建spring Initializr服務(wù)器,這部分知識不是本節(jié)重點橄杨,這里不做拓展了秘症,大家可以自行百度)還有一點需要注意,idea默認使用https://start.spring.io提供的在線模板式矫,所以建議執(zhí)行后續(xù)步驟的過程中保證網(wǎng)絡(luò)暢通乡摹。
    1. 以上選擇完成后应媚,點擊Next按鈕進入下一步十偶。

2. 第二步 填寫項目的元數(shù)據(jù)(Project Metadata)

所謂元數(shù)據(jù)也就是基本信息的意思厕怜,包含Group开呐、Artifact兔跌、Name枝嘶、Package等信息蛋济,如下圖所示旨袒,下面將詳細講解如何填寫這些信息:


填寫項目元數(shù)據(jù)頁面

從上圖可以看到察绷,需要填寫及選擇的內(nèi)容一共10項:

  • Group:創(chuàng)建項目的組織或團隊的唯一標識干签,通常是com + 公司名稱,按照國際慣例拆撼,這里建議所有的字母都使用小寫
  • Artifact:是項目的唯一的標識符容劳,實際對應(yīng)項目或系統(tǒng)的名稱。按照國際慣例闸度,這里建議所有的字母都使用小寫
  • Type:這里一共有4個選項鸭蛙,分別是Maven ProjectMaven POM筋岛、Gradle ProjectGradle Config娶视,其中Maven ProjectMaven POM兩個選項用于創(chuàng)建Maven方式管理的Java項目,區(qū)別是Maven Project幫我們生成整個完整的工程結(jié)構(gòu)睁宰,而Maven POM選項只會在工程目錄下生成pom.xml肪获,沒有src等等結(jié)構(gòu),所以對于新手建議選擇Maven Project柒傻。下面的兩個選項Gradle ProjectGradle Config用于創(chuàng)建Gradle方式管理的Java項目孝赫,和前兩個一樣,Gradle Project幫我們生成整個完整的工程红符,Gradle Config初始化的項目只有build.gradle配置文件青柄。據(jù)了解國內(nèi)很多大公司的項目都是使用Maven管理的伐债,所以對于初學(xué)者建議選擇Maven Project
  • Language:語言也提供了3個選項,分別是Java致开、KotlinGroovy峰锁,Java應(yīng)該不用多做介紹了,KotlinGroovy都是基于Java平臺的面向?qū)ο蟮木幊陶Z言双戳,業(yè)界有人認為Kotlin將會渠道Java的霸主地位虹蒋,Kotlin提供了互操作性,代碼安全性和準確性比較受程序員們的歡迎飒货,大家不用也沒關(guān)系魄衅,可以查資料了解一下這兩種語言,豐富知識的寬度
  • Packaging:提供了兩種打包方式JarWar塘辅,其中Jar的打包方式用于在服務(wù)器直接運行或提供給其他系統(tǒng)集成調(diào)用晃虫。War一般用于在Tomcat平臺部署。這里大家根據(jù)自己的部署環(huán)境和用途進行選擇
  • Java Version:提供了8扣墩,1115三個選項傲茄,大家根據(jù)自己的Java環(huán)境自行選擇就好
  • Version:項目或系統(tǒng)的版本號,后續(xù)可以修改沮榜,這里建議使用默認值
  • Name:項目或系統(tǒng)的名稱盘榨,可以是Artifact。(填寫Artifact項完成后蟆融,初始化工具會自動使用Artifact的內(nèi)功填充)
  • Description:項目功能及用途的介紹草巡,作為Jar包對外提供時,使用者可以通過 Description快速了解項目的能力型酥。這個信息可以后期修改山憨,可以直接跳過。
  • Package:項目或系統(tǒng)的唯一標識弥喉,可以自定義郁竟,默認是Group + Artifact。(當填寫GroupArtifact兩項完成后由境,初始化工具會自動使用這兩項的內(nèi)容填充)

以上信息填寫完成后棚亩,請點擊右下角的Next按鈕進入下一步。

3. 第三步 選擇項目的依賴(Dependencies)

項目的依賴選項多到讓人眼花繚亂措手不及虏杰,該從哪里下手呢讥蟆?選哪個合適呢?

1)選擇Spring Boot版本

Spring Boot版本選擇界面

如果上圖所示纺阔,Spring Boot的版本也有很多瘸彤,如果大家沒有必須要選擇的版本,建議選擇使用最新的版本笛钝,截止到2020年10月8日质况,最新的Spring Boot穩(wěn)定版本是2.3.4愕宋,注意請盡量不要選擇使用 (SNAPSHOT) 結(jié)尾版本,這些版本相當于開發(fā)版本结榄,會存在一些未知的Bug中贝,建議大家選擇穩(wěn)定版本,避免踩坑潭陪。

2)選擇初始依賴庫

選擇初始依賴庫的頁面

界面共分為三列:左列是分類雄妥, 中間列是待選擇的依賴庫最蕾,右列是已選擇的依賴庫依溯。
在這里需要說明一下,依賴庫在項目創(chuàng)建完成后也可以添加瘟则,這里可以直接點擊Next按鈕跳過黎炉。
下面我說一下我常用的一些依賴庫:

類別 依賴庫
Developer Tools Spring Boot DevTools
Web Spring Web
SQL Spring Data JPA

下面詳細說一下這些依賴庫的作用:

  • Spring Boot DevTools:提供了熱部署的能力,能節(jié)省很多程序員開發(fā)過程中調(diào)試部署的時間醋拧,強烈推薦使用慷嗜。網(wǎng)上也有很多關(guān)于熱部署原理的文章,建議大家拓展閱讀一下
  • Spring Web:Spring MVC核心組件之一丹壕,常用于用開發(fā)網(wǎng)絡(luò)接口服務(wù)庆械,使用Apache Tomcat作為運行環(huán)境。是開發(fā)網(wǎng)絡(luò)服務(wù)的必要組件
  • Spring Data JPA:Spring Data JPA是Spring菌赖,基于Hibernate開發(fā)的一個JPA框架缭乘,提供了更簡單更優(yōu)雅的訪問數(shù)據(jù)庫的方式,如果在項目中使用了關(guān)系型數(shù)據(jù)庫琉用,建議勾選上堕绩。
    完成選擇依賴庫以后,請點擊右下角的Next按鈕進入下一步邑时。

4. 第四步 選擇初始化位置

初始化位置選擇頁面

這也是初始化項目的最后一步了奴紧,填寫項目的名稱以及選擇文件的初始化位置。

  • Project name:項目或系統(tǒng)名稱晶丘,可以是在第二步填寫的Artifact黍氮,同時這個也是項目源代碼文件夾的名稱,建議使用駝峰命名法浅浮,提升可讀性滤钱。
  • Project location:選擇項目代碼初始化的位置,點擊右側(cè)的...按鈕選擇具體的路徑脑题。
    以上信息填寫完成后件缸,請點擊右下角的Next按鈕完成項目初始化。

5. 最后

項目創(chuàng)建完成后的目錄結(jié)構(gòu)

完成項目創(chuàng)建后您將看到以上目錄結(jié)構(gòu)叔遂,其中XXXApplication是項目的入口他炊。
項目運行控制菜單

在窗口的右上方找到上圖的幾個按鈕争剿,點擊中間的綠色三角按鈕,即可運行項目痊末。
在運行的過程中蚕苇,您可能會遇到Failed to configure a DataSource: 'url' attribute is not specified and no embedd的錯誤:
運行錯誤截圖

請參考我前面的文章Spring Boot應(yīng)用報錯:Failed to configure a DataSource: 'url' attribute is not specified and no embedd來解決此問題。
項目運行成功的截圖

當您解決完所有問題后凿叠,再次運行后看到以上的截圖中的兩行日志涩笤,那么恭喜您,您的第一個Spring Boot項目創(chuàng)建完成了盒件。

寫在最后:大家在創(chuàng)建項目的過程中蹬碧,如果遇到任何問題,請在評論區(qū)留言交流炒刁。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末恩沽,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子翔始,更是在濱河造成了極大的恐慌罗心,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,589評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件城瞎,死亡現(xiàn)場離奇詭異渤闷,居然都是意外死亡,警方通過查閱死者的電腦和手機脖镀,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,615評論 3 396
  • 文/潘曉璐 我一進店門飒箭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人认然,你說我怎么就攤上這事补憾。” “怎么了卷员?”我有些...
    開封第一講書人閱讀 165,933評論 0 356
  • 文/不壞的土叔 我叫張陵盈匾,是天一觀的道長。 經(jīng)常有香客問我毕骡,道長削饵,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,976評論 1 295
  • 正文 為了忘掉前任未巫,我火速辦了婚禮窿撬,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘叙凡。我一直安慰自己劈伴,他們只是感情好,可當我...
    茶點故事閱讀 67,999評論 6 393
  • 文/花漫 我一把揭開白布握爷。 她就那樣靜靜地躺著跛璧,像睡著了一般严里。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上追城,一...
    開封第一講書人閱讀 51,775評論 1 307
  • 那天刹碾,我揣著相機與錄音,去河邊找鬼座柱。 笑死迷帜,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的色洞。 我是一名探鬼主播戏锹,決...
    沈念sama閱讀 40,474評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼锋玲!你這毒婦竟也來了景用?” 一聲冷哼從身側(cè)響起涵叮,我...
    開封第一講書人閱讀 39,359評論 0 276
  • 序言:老撾萬榮一對情侶失蹤惭蹂,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后割粮,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體盾碗,經(jīng)...
    沈念sama閱讀 45,854評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,007評論 3 338
  • 正文 我和宋清朗相戀三年舀瓢,在試婚紗的時候發(fā)現(xiàn)自己被綠了廷雅。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,146評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡京髓,死狀恐怖航缀,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情堰怨,我是刑警寧澤芥玉,帶...
    沈念sama閱讀 35,826評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站备图,受9級特大地震影響灿巧,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜揽涮,卻給世界環(huán)境...
    茶點故事閱讀 41,484評論 3 331
  • 文/蒙蒙 一抠藕、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧蒋困,春花似錦盾似、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,029評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽购岗。三九已至,卻和暖如春门粪,著一層夾襖步出監(jiān)牢的瞬間喊积,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,153評論 1 272
  • 我被黑心中介騙來泰國打工玄妈, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留乾吻,地道東北人。 一個月前我還...
    沈念sama閱讀 48,420評論 3 373
  • 正文 我出身青樓拟蜻,卻偏偏與公主長得像绎签,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子酝锅,可洞房花燭夜當晚...
    茶點故事閱讀 45,107評論 2 356