成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Spring入門系列(一):使用IDEA創(chuàng)建第一個(gè)Spring Boot的Hello World項(xiàng)目

Euphoria / 1926人閱讀

摘要:進(jìn)行到這里,很多小伙伴可能心里迫切的想著趕緊啟動(dòng)項(xiàng)目。該類的代碼如下步驟重新啟動(dòng)該項(xiàng)目之前啟動(dòng)項(xiàng)目的圖標(biāo)已經(jīng)變?yōu)橹貑㈨?xiàng)目的圖標(biāo),在瀏覽器中輸入,如圖所示頁(yè)面展示出字樣至此,使用創(chuàng)建第一個(gè)的項(xiàng)目已經(jīng)成功

前言
Spring因其輕量級(jí)、一站式、非侵入式設(shè)計(jì)、方便集成和測(cè)試等優(yōu)勢(shì),成為最受歡迎的Java EE框架之一。但Spring的配置繁瑣臃腫,很多工作麻煩而重復(fù),于是Spring Boot應(yīng)運(yùn)而生。憑借其極簡(jiǎn)化、快速開發(fā)、尤其適合構(gòu)建微服務(wù)系統(tǒng)等優(yōu)勢(shì),受到越來越多企業(yè)的歡迎。

IDEA,全稱IntelliJ IDEA,是捷克的軟件公司JetBrains開發(fā)的一款Java IDE(集成開發(fā)環(huán)境),目前也被公認(rèn)為是最好的Java開發(fā)工具之一(我個(gè)人認(rèn)為可以去掉之一,至少現(xiàn)階段如此)。插一句題外話,JetBrains不僅開發(fā)了IntelliJ IDEA,還開發(fā)了Webstorm(前端 IDE)、PyCharm(Python IDE)、DataGrip(數(shù)據(jù)庫(kù) IDE)等等產(chǎn)品,被稱為“JetBrains全家桶”,而我本人也是“JetBrains全家桶”的忠實(shí)擁躉,每天一邊在心中默念“JetBrains全家桶大法好”一邊在IDEA上暢快地書寫著代碼。曾經(jīng)有一位同事在我面前吐槽說“IDEA除了智能一點(diǎn)以外,很多工作幫我們都做了以外,其余并沒有什么優(yōu)點(diǎn)”,而我想說的是,《論語(yǔ)·衛(wèi)靈公》有曰:“工欲善其事,必先利其器”。既然一個(gè)IDE能夠做到更智能一些,幫我們做的事情能更多一些,我們自己需要花費(fèi)在配置、設(shè)置上的時(shí)間能更少一些,能更專注于代碼本身,何嘗不是一件好事呢?

同時(shí)我們可以來看一份2018年針對(duì)全球10500名Java開發(fā)者做的一項(xiàng)調(diào)查,調(diào)查顯示有 45%的開發(fā)者以IDEA作為開發(fā)Java項(xiàng)目的IDE。大多數(shù)人的選擇不一定是最好的,但一定是最流行的,也一定是有原因的。

新建第一個(gè)Spring Boot項(xiàng)目

步驟01?打開IDEA,點(diǎn)擊“Create New Project”選項(xiàng),創(chuàng)建一個(gè)新的工程;

步驟02?選擇“Spring Initializr”這個(gè)選項(xiàng),它是Spring官方提供的用來初始化一個(gè)Spring Boot項(xiàng)目的工具(注意:如果你的IDEA中找不到這個(gè)選項(xiàng),有可能你安裝的是社區(qū)版的IDEA,或者你的IDEA缺少Spring Boot相關(guān)插件);

步驟03?輸入項(xiàng)目的基本信息,包括Group(組織Id)、Artifact(模塊名稱)、Type(項(xiàng)目構(gòu)建類型)、Language(開發(fā)語(yǔ)言)、Packaging(最終生成包的類型)、Java Version(Java版本)、Version(項(xiàng)目的版本號(hào))、Name(項(xiàng)目名稱)、Description(項(xiàng)目描述)、Package(項(xiàng)目的包),各項(xiàng)基本信息輸入完成后即可點(diǎn)擊“Next”進(jìn)入下一步;

其中,“組織Id”一般為公司等組織域名的反寫,而對(duì)于個(gè)人項(xiàng)目而言,建議采用“pers(個(gè)人發(fā)起、獨(dú)自完成、可分享的項(xiàng)目)或priv(個(gè)人發(fā)起、獨(dú)自完成、非公開的私人使用的項(xiàng)目)+個(gè)人名”的形式;“項(xiàng)目構(gòu)建類型”表示是使用Maven還是Gradle構(gòu)建項(xiàng)目;“最終生成包的類型”表示是使用Jar包還是War包作為項(xiàng)目的最終打包方式,此處選擇Jar包,后續(xù)可以在項(xiàng)目的配置文件中進(jìn)行修改;“項(xiàng)目的包”的包名則是根據(jù)“組織Id+模塊名稱”規(guī)則自動(dòng)生成,一般情況下沒有必要去進(jìn)行修改

步驟04?選擇項(xiàng)目依賴,勾選項(xiàng)目依賴后IDEA會(huì)自動(dòng)把選中的依賴添加到項(xiàng)目的pom.xml文件中。由于我們后續(xù)準(zhǔn)備開發(fā)的是Web項(xiàng)目,所以此處勾選一級(jí)選項(xiàng)“Web”下的二級(jí)選項(xiàng)“Web”,右邊的“Selected Dependencies”欄目中會(huì)顯示已經(jīng)選擇的依賴;

步驟05?項(xiàng)目最終設(shè)置,這里需要填寫項(xiàng)目的工程名和選擇項(xiàng)目創(chuàng)建的路徑,下方的“More Settings”中還有一些更多的設(shè)置。一般來說,這里不用修改,讀者可以根據(jù)自己的需求自行修改。確認(rèn)以上設(shè)置無(wú)誤后,點(diǎn)擊“Finish”按鈕,一個(gè)可運(yùn)行的Spring Boot項(xiàng)目就創(chuàng)建成功了!

步驟06?創(chuàng)建后的項(xiàng)目長(zhǎng)下面這個(gè)樣子。進(jìn)行到這里,很多小伙伴可能心里迫切的想著趕緊啟動(dòng)項(xiàng)目。這種心情是完全可以理解的,但是在啟動(dòng)之前我們還是先看一看這個(gè)項(xiàng)目的目錄結(jié)構(gòu),同時(shí)需要?jiǎng)h除一些不需要的文件,正所謂“磨刀不誤砍柴工”;

可以看到,整個(gè)項(xiàng)目的項(xiàng)目名與之前設(shè)置的相同,展開項(xiàng)目之后有三個(gè)文件夾和一些圖標(biāo)各異的文件,與項(xiàng)目文件夾同級(jí)別的目錄下還有“External Libraries”和“Scratches and Consoles”兩個(gè)模塊,下面簡(jiǎn)要介紹一下各文件和模塊的功能:

.idea文件夾:存放項(xiàng)目的一些配置信息,例如IDE的一些配置(主題、字體等)、緩存、版本控制和歷史記錄等信息;

.mvn文件夾:該文件夾展開有一個(gè)wrapper文件夾,其中存放maven-wrapper.jar和maven-wrapper.properties和MavenWrapperDownloader.java三個(gè)文件。在src文件夾下方的文件中,還有mvnw、mvnw.cmd兩個(gè)文件。其實(shí)mvnw就是一個(gè)maven wrapper script,可以讓你在沒有安裝maven或者maven版本不兼容的條件下運(yùn)行maven的命令,mvn.cmd是執(zhí)行mvnw命令的cmd入口。它的原理是在maven-wrapper.properties文件中記錄你要使用的maven版本,當(dāng)我們執(zhí)行mvnw clean命令時(shí),發(fā)現(xiàn)當(dāng)前環(huán)境中的maven版本和期望的版本不一致,那么就下載期望的版本,然后用期望的版本來執(zhí)行mvn命令。在實(shí)際的開發(fā)過程中,我們應(yīng)該保證開發(fā)環(huán)境安裝了maven且maven版本與期望版本保持一致。所以這個(gè)文件夾與下面的mvnw、mvnw.cmd兩個(gè)文件均可以刪除;

src文件夾:這個(gè)目錄就比較熟悉了,就是用來存放源代碼的文件夾。
????main是源文件夾,包括存放Java代碼的“java”文件夾和存放靜態(tài)資源的“resources”文件夾。在“java”文件夾中可以看到根據(jù)步驟03“輸入項(xiàng)目的基本信息”時(shí)配置的包名而自動(dòng)生成的一個(gè)包,其中含有自動(dòng)生成的"StudySpringbootApplication"類,它是整個(gè)項(xiàng)目的入口類,通過其中的run方法啟動(dòng)項(xiàng)目;而“resources”文件夾中包含兩個(gè)文件夾和一個(gè)文件,“static”文件夾默認(rèn)存放靜態(tài)資源也就是靜態(tài)頁(yè)面,“templates”文件夾默認(rèn)存放視圖模板也就是動(dòng)態(tài)頁(yè)面(需要引入官方推薦使用的Thymeleaf模板引擎組件或FreeMarker等第三方的模板引擎)。但是在目前的企業(yè)級(jí)Web應(yīng)用中,前后端分離是大勢(shì)所趨,視圖層技術(shù)日漸式微,不過這兩個(gè)文件夾Spring官方還是給予了提供;“application.properties”是一個(gè)配置文件,包含系統(tǒng)屬性、環(huán)境變量、命令參數(shù)等信息,Spring Boot啟動(dòng)時(shí)默認(rèn)加載該配置文件。此處建議將該配置文件由.properties格式改為.yml格式(雖然兩者皆為官方推薦的格式),因?yàn)橄啾容^而言.yml比.properties更好用,后面我會(huì)寫專文進(jìn)行討論;
????test是測(cè)試文件夾,存放我們編寫的測(cè)試類;

.gitignore:根據(jù)這個(gè)文件的名字就可以大致猜出它的用途,這個(gè)文件是用來忽略Git版本庫(kù)控制的。即在Git中如果想忽略掉某個(gè)文件,不讓這個(gè)文件提交到版本庫(kù)中,這可以將這個(gè)文件加入到.gitignore的忽略規(guī)則中。不過在實(shí)際開發(fā)過程中,不推薦使用IDEA自帶的Git管理工具。相比于專業(yè)的Git管理插件,它顯得不是那么好用。大神們會(huì)直接采用Git命令的方式進(jìn)行Git操作,而我們普羅大眾一般使用擁有圖形化界面的客戶端進(jìn)行Git操作。目前在互聯(lián)網(wǎng)公司中比較流行的一款Git管理工具是SourceTree,不過我本人使用的是Fork(https://git-fork.com/),在下一篇文章中我會(huì)詳細(xì)介紹。因?yàn)椴煌扑]使用IDEA自帶的插件進(jìn)行Git管理,所以該文件也沒有必要留存,我們可以將其刪除;

HELP.md:這個(gè)文件即整個(gè)項(xiàng)目的幫助文檔;

mvnw、mvnw.cmd:這兩個(gè)文件之前已經(jīng)說過了,此處不再贅述;

pom.xml:Maven的配置文件,主要描述了項(xiàng)目的Maven坐標(biāo)、依賴關(guān)系、開發(fā)者需要遵循的規(guī)則、缺陷管理系統(tǒng)、組織、licenses以及其他所有的項(xiàng)目相關(guān)因素,是項(xiàng)目級(jí)別的配置文件;

study_springboot.iml:IDEA的工程配置文件,里面是當(dāng)前項(xiàng)目的一些配置信息,例如歷史記錄、版本控制信息等;

External Libraries:即項(xiàng)目的外部依賴,此處的外部依賴由Maven自動(dòng)導(dǎo)入,一般不需要操作和干預(yù);

Scratches and Consoles:劃痕和控制臺(tái),IDEA提供的一個(gè)臨時(shí)的文件編輯環(huán)境,通過該環(huán)境你可以寫一些臨時(shí)注釋和項(xiàng)目上下文之外的代碼片段,相當(dāng)于一個(gè)草稿本的功能。

現(xiàn)在,各文件和模塊的功能我們都已經(jīng)完全熟悉了,整個(gè)項(xiàng)目的結(jié)構(gòu)層次成竹于胸。根據(jù)上述的分析對(duì)一些文件進(jìn)行刪除和修改之后,我們得到了一個(gè)十分清爽、簡(jiǎn)單的初始Spring Boot項(xiàng)目:

啟動(dòng)項(xiàng)目

步驟01?進(jìn)入StudySpringbootApplication類,上一節(jié)已經(jīng)說到過這個(gè)類是整個(gè)項(xiàng)目的入口類。通過下圖所標(biāo)識(shí)的五個(gè)啟動(dòng)入口(IDEA好像特別害怕我們不知道從哪里啟動(dòng)),均能調(diào)用SpringApplication的run方法從而啟動(dòng)項(xiàng)目;

步驟02?啟動(dòng)項(xiàng)目后,控制臺(tái)(Console)中會(huì)打印啟動(dòng)日志。經(jīng)過幾秒鐘的等待之后,控制臺(tái)的打印操作會(huì)停止,并如圖所示提示“Started StudySpringbootApplication in 2.814 seconds (JVM running for 4.494)”。即告訴我們,項(xiàng)目已經(jīng)正常啟動(dòng)并花費(fèi)了2.814秒,Tomcat 已經(jīng)開啟了8080端口的監(jiān)聽;

步驟03?此時(shí),我們打開瀏覽器,輸入地址 http://127.0.0.1:8080/,此時(shí)便會(huì)打開如下圖所示的頁(yè)面,也就是我們常說的“白頁(yè)”(這個(gè)頁(yè)面就叫做“白頁(yè)”,并不是完全空白的頁(yè)面叫做“白頁(yè)”)。此頁(yè)面雖然有一個(gè)大大“Error”,但并不是說我們的項(xiàng)目有問題或者說是啟動(dòng)不成功。因?yàn)槲覀兇藭r(shí)的項(xiàng)目還沒有加入任何的邏輯代碼和視圖,所以顯示白頁(yè)是十分正常的;

添加控制層

步驟01?在自動(dòng)生成的包目錄下,創(chuàng)建一個(gè)名為controller的包,并在包中創(chuàng)建一個(gè)名為HelloWorldController的類。該類的代碼如下:

@RestController
public class HelloWorldController {
    @GetMapping("/hello")
    public String hello() {
        return "Hello World";
    }
}

步驟02?重新啟動(dòng)該項(xiàng)目(之前啟動(dòng)項(xiàng)目的圖標(biāo)已經(jīng)變?yōu)橹貑㈨?xiàng)目的圖標(biāo)),在瀏覽器中輸入 http://127.0.0.1:8080/hello,如圖所示頁(yè)面展示出“Hello World”字樣;

至此,使用IDEA創(chuàng)建第一個(gè)Spring Boot的Hello World項(xiàng)目已經(jīng)成功!

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/74818.html

相關(guān)文章

  • 【從零入門系列-0】Spring BootHello World

    摘要:結(jié)束語(yǔ)非常智能化,為開發(fā)者提供大量的默認(rèn)配置細(xì)節(jié),因此在的幫助下可以快速完成項(xiàng)目的運(yùn)行,極簡(jiǎn)入門繼續(xù)看從零入門系列程序結(jié)構(gòu)設(shè)計(jì)說明 環(huán)境準(zhǔn)備 java 開發(fā)環(huán)境 JDK1.8 安裝 Maven 安裝,jar自動(dòng)依賴及包管理工具 IDE編輯器:IntelliJ IDEA 2019 說明 本項(xiàng)目為從零入門示例,目標(biāo)為構(gòu)建一個(gè)書籍增刪改查管理頁(yè),力爭(zhēng)記錄一個(gè)無(wú)java基礎(chǔ)的程序員學(xué)習(xí)筆...

    icyfire 評(píng)論0 收藏0
  • java | Spring Boot 體驗(yàn)

    摘要:大量的配置繁瑣而復(fù)雜,稍有不慎項(xiàng)目將無(wú)法運(yùn)行。配置環(huán)境將花費(fèi)大量的時(shí)間和精力。結(jié)合種種原因,社區(qū)痛定思痛,所以來啦。。。。到底有多快捷方便,多說無(wú)益,體驗(yàn)一般就好。 Spring Boot 體驗(yàn) 簡(jiǎn)介 在第一次接觸 Spring 你會(huì)發(fā)現(xiàn)其核心配置文件是一個(gè)XML格式的,所有的配置都是通過XML來實(shí)現(xiàn)的。大量的配置繁瑣而復(fù)雜,稍有不慎項(xiàng)目將無(wú)法運(yùn)行。配置環(huán)境將花費(fèi)大量的時(shí)間和精力。很多...

    int64 評(píng)論0 收藏0
  • Spring Boot 入門

    摘要:簡(jiǎn)介簡(jiǎn)化應(yīng)用開發(fā)的一個(gè)框架整個(gè)技術(shù)棧的一個(gè)大整合開發(fā)的一站式解決方案微服務(wù),微服務(wù)架構(gòu)風(fēng)格服務(wù)微化一個(gè)應(yīng)用應(yīng)該是一組小型服務(wù)可以通過的方式進(jìn)行互通單體應(yīng)用微服務(wù)每一個(gè)功能元素最終都是一個(gè)可獨(dú)立替換和獨(dú)立升級(jí)的軟件單元環(huán)境準(zhǔn)備推薦及以上以上版 1、Spring Boot 簡(jiǎn)介簡(jiǎn)化Spring應(yīng)用開發(fā)的一個(gè)框架; 整個(gè)Spring技術(shù)棧的一個(gè)大整合; J2EE開發(fā)的一站式解決方案; 2、微...

    zhaochunqi 評(píng)論0 收藏0
  • Spring Boot 2.x基礎(chǔ)教程:快速入門

    摘要:編寫一個(gè)接口創(chuàng)建命名為根據(jù)實(shí)際情況修改創(chuàng)建類,內(nèi)容如下啟動(dòng)主程序,使用等工具發(fā)起請(qǐng)求,可以看到頁(yè)面返回編寫單元測(cè)試用例打開的下的測(cè)試入口類。 簡(jiǎn)介 在您第1次接觸和學(xué)習(xí)Spring框架的時(shí)候,是否因?yàn)槠浞彪s的配置而退卻了?在你第n次使用Spring框架的時(shí)候,是否覺得一堆反復(fù)黏貼的配置有一些厭煩?那么您就不妨來試試使用Spring Boot來讓你更易上手,更簡(jiǎn)單快捷地構(gòu)建Spring應(yīng)...

    tigerZH 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<