摘要:進(jìn)行到這里,很多小伙伴可能心里迫切的想著趕緊啟動項目。該類的代碼如下步驟重新啟動該項目之前啟動項目的圖標(biāo)已經(jīng)變?yōu)橹貑㈨椖康膱D標(biāo),在瀏覽器中輸入,如圖所示頁面展示出字樣至此,使用創(chuàng)建第一個的項目已經(jīng)成功
前言
Spring因其輕量級、一站式、非侵入式設(shè)計、方便集成和測試等優(yōu)勢,成為最受歡迎的Java EE框架之一。但Spring的配置繁瑣臃腫,很多工作麻煩而重復(fù),于是Spring Boot應(yīng)運而生。憑借其極簡化、快速開發(fā)、尤其適合構(gòu)建微服務(wù)系統(tǒng)等優(yōu)勢,受到越來越多企業(yè)的歡迎。新建第一個Spring Boot項目IDEA,全稱IntelliJ IDEA,是捷克的軟件公司JetBrains開發(fā)的一款Java IDE(集成開發(fā)環(huán)境),目前也被公認(rèn)為是最好的Java開發(fā)工具之一(我個人認(rèn)為可以去掉之一,至少現(xiàn)階段如此)。插一句題外話,JetBrains不僅開發(fā)了IntelliJ IDEA,還開發(fā)了Webstorm(前端 IDE)、PyCharm(Python IDE)、DataGrip(數(shù)據(jù)庫 IDE)等等產(chǎn)品,被稱為“JetBrains全家桶”,而我本人也是“JetBrains全家桶”的忠實擁躉,每天一邊在心中默念“JetBrains全家桶大法好”一邊在IDEA上暢快地書寫著代碼。曾經(jīng)有一位同事在我面前吐槽說“IDEA除了智能一點以外,很多工作幫我們都做了以外,其余并沒有什么優(yōu)點”,而我想說的是,《論語·衛(wèi)靈公》有曰:“工欲善其事,必先利其器”。既然一個IDE能夠做到更智能一些,幫我們做的事情能更多一些,我們自己需要花費在配置、設(shè)置上的時間能更少一些,能更專注于代碼本身,何嘗不是一件好事呢?
同時我們可以來看一份2018年針對全球10500名Java開發(fā)者做的一項調(diào)查,調(diào)查顯示有 45%的開發(fā)者以IDEA作為開發(fā)Java項目的IDE。大多數(shù)人的選擇不一定是最好的,但一定是最流行的,也一定是有原因的。
步驟01?打開IDEA,點擊“Create New Project”選項,創(chuàng)建一個新的工程;
步驟02?選擇“Spring Initializr”這個選項,它是Spring官方提供的用來初始化一個Spring Boot項目的工具(注意:如果你的IDEA中找不到這個選項,有可能你安裝的是社區(qū)版的IDEA,或者你的IDEA缺少Spring Boot相關(guān)插件);
步驟03?輸入項目的基本信息,包括Group(組織Id)、Artifact(模塊名稱)、Type(項目構(gòu)建類型)、Language(開發(fā)語言)、Packaging(最終生成包的類型)、Java Version(Java版本)、Version(項目的版本號)、Name(項目名稱)、Description(項目描述)、Package(項目的包),各項基本信息輸入完成后即可點擊“Next”進(jìn)入下一步;
其中,“組織Id”一般為公司等組織域名的反寫,而對于個人項目而言,建議采用“pers(個人發(fā)起、獨自完成、可分享的項目)或priv(個人發(fā)起、獨自完成、非公開的私人使用的項目)+個人名”的形式;“項目構(gòu)建類型”表示是使用Maven還是Gradle構(gòu)建項目;“最終生成包的類型”表示是使用Jar包還是War包作為項目的最終打包方式,此處選擇Jar包,后續(xù)可以在項目的配置文件中進(jìn)行修改;“項目的包”的包名則是根據(jù)“組織Id+模塊名稱”規(guī)則自動生成,一般情況下沒有必要去進(jìn)行修改
步驟04?選擇項目依賴,勾選項目依賴后IDEA會自動把選中的依賴添加到項目的pom.xml文件中。由于我們后續(xù)準(zhǔn)備開發(fā)的是Web項目,所以此處勾選一級選項“Web”下的二級選項“Web”,右邊的“Selected Dependencies”欄目中會顯示已經(jīng)選擇的依賴;
步驟05?項目最終設(shè)置,這里需要填寫項目的工程名和選擇項目創(chuàng)建的路徑,下方的“More Settings”中還有一些更多的設(shè)置。一般來說,這里不用修改,讀者可以根據(jù)自己的需求自行修改。確認(rèn)以上設(shè)置無誤后,點擊“Finish”按鈕,一個可運行的Spring Boot項目就創(chuàng)建成功了!
步驟06?創(chuàng)建后的項目長下面這個樣子。進(jìn)行到這里,很多小伙伴可能心里迫切的想著趕緊啟動項目。這種心情是完全可以理解的,但是在啟動之前我們還是先看一看這個項目的目錄結(jié)構(gòu),同時需要刪除一些不需要的文件,正所謂“磨刀不誤砍柴工”;
可以看到,整個項目的項目名與之前設(shè)置的相同,展開項目之后有三個文件夾和一些圖標(biāo)各異的文件,與項目文件夾同級別的目錄下還有“External Libraries”和“Scratches and Consoles”兩個模塊,下面簡要介紹一下各文件和模塊的功能:
.idea文件夾:存放項目的一些配置信息,例如IDE的一些配置(主題、字體等)、緩存、版本控制和歷史記錄等信息;
.mvn文件夾:該文件夾展開有一個wrapper文件夾,其中存放maven-wrapper.jar和maven-wrapper.properties和MavenWrapperDownloader.java三個文件。在src文件夾下方的文件中,還有mvnw、mvnw.cmd兩個文件。其實mvnw就是一個maven wrapper script,可以讓你在沒有安裝maven或者maven版本不兼容的條件下運行maven的命令,mvn.cmd是執(zhí)行mvnw命令的cmd入口。它的原理是在maven-wrapper.properties文件中記錄你要使用的maven版本,當(dāng)我們執(zhí)行mvnw clean命令時,發(fā)現(xiàn)當(dāng)前環(huán)境中的maven版本和期望的版本不一致,那么就下載期望的版本,然后用期望的版本來執(zhí)行mvn命令。在實際的開發(fā)過程中,我們應(yīng)該保證開發(fā)環(huán)境安裝了maven且maven版本與期望版本保持一致。所以這個文件夾與下面的mvnw、mvnw.cmd兩個文件均可以刪除;
src文件夾:這個目錄就比較熟悉了,就是用來存放源代碼的文件夾。
????main是源文件夾,包括存放Java代碼的“java”文件夾和存放靜態(tài)資源的“resources”文件夾。在“java”文件夾中可以看到根據(jù)步驟03“輸入項目的基本信息”時配置的包名而自動生成的一個包,其中含有自動生成的"StudySpringbootApplication"類,它是整個項目的入口類,通過其中的run方法啟動項目;而“resources”文件夾中包含兩個文件夾和一個文件,“static”文件夾默認(rèn)存放靜態(tài)資源也就是靜態(tài)頁面,“templates”文件夾默認(rèn)存放視圖模板也就是動態(tài)頁面(需要引入官方推薦使用的Thymeleaf模板引擎組件或FreeMarker等第三方的模板引擎)。但是在目前的企業(yè)級Web應(yīng)用中,前后端分離是大勢所趨,視圖層技術(shù)日漸式微,不過這兩個文件夾Spring官方還是給予了提供;“application.properties”是一個配置文件,包含系統(tǒng)屬性、環(huán)境變量、命令參數(shù)等信息,Spring Boot啟動時默認(rèn)加載該配置文件。此處建議將該配置文件由.properties格式改為.yml格式(雖然兩者皆為官方推薦的格式),因為相比較而言.yml比.properties更好用,后面我會寫專文進(jìn)行討論;
????test是測試文件夾,存放我們編寫的測試類;
.gitignore:根據(jù)這個文件的名字就可以大致猜出它的用途,這個文件是用來忽略Git版本庫控制的。即在Git中如果想忽略掉某個文件,不讓這個文件提交到版本庫中,這可以將這個文件加入到.gitignore的忽略規(guī)則中。不過在實際開發(fā)過程中,不推薦使用IDEA自帶的Git管理工具。相比于專業(yè)的Git管理插件,它顯得不是那么好用。大神們會直接采用Git命令的方式進(jìn)行Git操作,而我們普羅大眾一般使用擁有圖形化界面的客戶端進(jìn)行Git操作。目前在互聯(lián)網(wǎng)公司中比較流行的一款Git管理工具是SourceTree,不過我本人使用的是Fork(https://git-fork.com/),在下一篇文章中我會詳細(xì)介紹。因為不推薦使用IDEA自帶的插件進(jìn)行Git管理,所以該文件也沒有必要留存,我們可以將其刪除;
HELP.md:這個文件即整個項目的幫助文檔;
mvnw、mvnw.cmd:這兩個文件之前已經(jīng)說過了,此處不再贅述;
pom.xml:Maven的配置文件,主要描述了項目的Maven坐標(biāo)、依賴關(guān)系、開發(fā)者需要遵循的規(guī)則、缺陷管理系統(tǒng)、組織、licenses以及其他所有的項目相關(guān)因素,是項目級別的配置文件;
study_springboot.iml:IDEA的工程配置文件,里面是當(dāng)前項目的一些配置信息,例如歷史記錄、版本控制信息等;
External Libraries:即項目的外部依賴,此處的外部依賴由Maven自動導(dǎo)入,一般不需要操作和干預(yù);
Scratches and Consoles:劃痕和控制臺,IDEA提供的一個臨時的文件編輯環(huán)境,通過該環(huán)境你可以寫一些臨時注釋和項目上下文之外的代碼片段,相當(dāng)于一個草稿本的功能。
現(xiàn)在,各文件和模塊的功能我們都已經(jīng)完全熟悉了,整個項目的結(jié)構(gòu)層次成竹于胸。根據(jù)上述的分析對一些文件進(jìn)行刪除和修改之后,我們得到了一個十分清爽、簡單的初始Spring Boot項目:
啟動項目步驟01?進(jìn)入StudySpringbootApplication類,上一節(jié)已經(jīng)說到過這個類是整個項目的入口類。通過下圖所標(biāo)識的五個啟動入口(IDEA好像特別害怕我們不知道從哪里啟動),均能調(diào)用SpringApplication的run方法從而啟動項目;
步驟02?啟動項目后,控制臺(Console)中會打印啟動日志。經(jīng)過幾秒鐘的等待之后,控制臺的打印操作會停止,并如圖所示提示“Started StudySpringbootApplication in 2.814 seconds (JVM running for 4.494)”。即告訴我們,項目已經(jīng)正常啟動并花費了2.814秒,Tomcat 已經(jīng)開啟了8080端口的監(jiān)聽;
步驟03?此時,我們打開瀏覽器,輸入地址 http://127.0.0.1:8080/,此時便會打開如下圖所示的頁面,也就是我們常說的“白頁”(這個頁面就叫做“白頁”,并不是完全空白的頁面叫做“白頁”)。此頁面雖然有一個大大“Error”,但并不是說我們的項目有問題或者說是啟動不成功。因為我們此時的項目還沒有加入任何的邏輯代碼和視圖,所以顯示白頁是十分正常的;
添加控制層步驟01?在自動生成的包目錄下,創(chuàng)建一個名為controller的包,并在包中創(chuàng)建一個名為HelloWorldController的類。該類的代碼如下:
@RestController public class HelloWorldController { @GetMapping("/hello") public String hello() { return "Hello World"; } }
步驟02?重新啟動該項目(之前啟動項目的圖標(biāo)已經(jīng)變?yōu)橹貑㈨椖康膱D標(biāo)),在瀏覽器中輸入 http://127.0.0.1:8080/hello,如圖所示頁面展示出“Hello World”字樣;
至此,使用IDEA創(chuàng)建第一個Spring Boot的Hello World項目已經(jīng)成功!
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/74818.html
摘要:結(jié)束語非常智能化,為開發(fā)者提供大量的默認(rèn)配置細(xì)節(jié),因此在的幫助下可以快速完成項目的運行,極簡入門繼續(xù)看從零入門系列程序結(jié)構(gòu)設(shè)計說明 環(huán)境準(zhǔn)備 java 開發(fā)環(huán)境 JDK1.8 安裝 Maven 安裝,jar自動依賴及包管理工具 IDE編輯器:IntelliJ IDEA 2019 說明 本項目為從零入門示例,目標(biāo)為構(gòu)建一個書籍增刪改查管理頁,力爭記錄一個無java基礎(chǔ)的程序員學(xué)習(xí)筆...
摘要:大量的配置繁瑣而復(fù)雜,稍有不慎項目將無法運行。配置環(huán)境將花費大量的時間和精力。結(jié)合種種原因,社區(qū)痛定思痛,所以來啦。。。。到底有多快捷方便,多說無益,體驗一般就好。 Spring Boot 體驗 簡介 在第一次接觸 Spring 你會發(fā)現(xiàn)其核心配置文件是一個XML格式的,所有的配置都是通過XML來實現(xiàn)的。大量的配置繁瑣而復(fù)雜,稍有不慎項目將無法運行。配置環(huán)境將花費大量的時間和精力。很多...
摘要:簡介簡化應(yīng)用開發(fā)的一個框架整個技術(shù)棧的一個大整合開發(fā)的一站式解決方案微服務(wù),微服務(wù)架構(gòu)風(fēng)格服務(wù)微化一個應(yīng)用應(yīng)該是一組小型服務(wù)可以通過的方式進(jìn)行互通單體應(yīng)用微服務(wù)每一個功能元素最終都是一個可獨立替換和獨立升級的軟件單元環(huán)境準(zhǔn)備推薦及以上以上版 1、Spring Boot 簡介簡化Spring應(yīng)用開發(fā)的一個框架; 整個Spring技術(shù)棧的一個大整合; J2EE開發(fā)的一站式解決方案; 2、微...
摘要:編寫一個接口創(chuàng)建命名為根據(jù)實際情況修改創(chuàng)建類,內(nèi)容如下啟動主程序,使用等工具發(fā)起請求,可以看到頁面返回編寫單元測試用例打開的下的測試入口類。 簡介 在您第1次接觸和學(xué)習(xí)Spring框架的時候,是否因為其繁雜的配置而退卻了?在你第n次使用Spring框架的時候,是否覺得一堆反復(fù)黏貼的配置有一些厭煩?那么您就不妨來試試使用Spring Boot來讓你更易上手,更簡單快捷地構(gòu)建Spring應(yīng)...
閱讀 1695·2021-10-27 14:13
閱讀 1968·2021-10-11 10:59
閱讀 3452·2021-09-24 10:26
閱讀 1987·2019-08-30 12:48
閱讀 3109·2019-08-30 12:46
閱讀 2096·2019-08-30 11:16
閱讀 1489·2019-08-30 10:48
閱讀 2859·2019-08-29 16:54