溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

java中怎么創(chuàng)建一個(gè)springboot工程

發(fā)布時(shí)間:2021-07-28 15:15:43 來(lái)源:億速云 閱讀:121 作者:Leah 欄目:大數(shù)據(jù)

本篇文章為大家展示了java中怎么創(chuàng)建一個(gè)springboot工程,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。


  1. 可以選擇用maven 還是 gradle 構(gòu)建

無(wú)論哪種構(gòu)建方式,對(duì)jar包的管理還是那三個(gè)坐標(biāo),groupId , artifactId,versionId ,插件也是基于這三個(gè)坐標(biāo)。只不過(guò)兩者管理的語(yǔ)法不同,再細(xì)節(jié)的我也沒(méi)有研究了,gradle國(guó)內(nèi)資料比較少,但有名的spring源碼也用gradle構(gòu)建了,所以喜歡折騰的朋友可以試試gradle。

  1. springBoot版本

有SNAPSHOT的是快照版,功能可能不是很完善,一般選非SNAPSHOT的版本

  1. 項(xiàng)目坐標(biāo)

如每個(gè)jar包都有三個(gè)坐標(biāo)值一樣,我們的項(xiàng)目日后也會(huì)打成jar包或者是war包,也需要同樣的坐標(biāo)的,group一般用做項(xiàng)目名(com.fenxiangtech.boot),artiface一般用做模塊名(study),點(diǎn)開(kāi)#5 還可以看到version選項(xiàng),一般開(kāi)發(fā)就用SNAPSHOT

  1. 項(xiàng)目依賴

以前用spring開(kāi)發(fā)的同學(xué)都知道,為了一個(gè)功能要到處找依賴,然后復(fù)制dependency到pom.xml里面,springboot把一個(gè)功能依賴的jar包做了打包,只用一個(gè)依賴就可以解決問(wèn)題,可以選常用的功能模塊,如mybatis , redis , jdbc , web 等等

  1. 切換到完整模式

在完整模式下可以看到切換java版本等選項(xiàng),推薦java 11 , 就跟著最新的學(xué)吧,這是一個(gè)長(zhǎng)期支持的版本。以后肯定會(huì)切換到這個(gè)版本的。

  1. 一鍵生成

都選完之后,就可以一鍵生成一個(gè)簡(jiǎn)單的可運(yùn)行程序。大家可以隨便選了試一試

我們的初級(jí)擴(kuò)展就是,一鍵生成一個(gè)可運(yùn)行的程序,并運(yùn)行起來(lái)!

中試牛刀

小伙伴們?nèi)绻€記得java故事之夢(mèng)這篇文章的話,我們?cè)诶锩嬗刑峒暗浇ㄔO(shè)者模式,現(xiàn)在我們一起起看看這個(gè)springboot的生成過(guò)程,是不是也很像建造者模式,先是各種配置,最后一個(gè)build生成搞定,所以我們的中級(jí)擴(kuò)展就是用建造者模式模擬下springboot的一鍵生成

仔細(xì)想一想,各種配置有那么多的選項(xiàng),這組合在一起可能性也太多了,那我們的導(dǎo)演類里面要寫(xiě)這么多種方法嗎,所以應(yīng)該不是純建造者模式,如果換做是我們來(lái)做這個(gè)事情,我們會(huì)怎么做呢?找一個(gè)模板,把對(duì)應(yīng)位置空出來(lái),初始化幾個(gè)Map , 把選的配置和要放到文件里面的代碼對(duì)應(yīng)起來(lái),這樣根據(jù)頁(yè)面的選擇來(lái)更改模板,定義一個(gè)原形出來(lái),然后根據(jù)選擇的配置修改,這樣就不會(huì)有這么多的方法了,這是原形模式?

后來(lái)再一想,這其實(shí)就是一個(gè)生成文件而已,不用任何設(shè)計(jì)模式,直接寫(xiě)代碼的話也就一個(gè)判斷,然根據(jù)配置取值,生成文件,打包成zip,然后response返回,所以一個(gè)功能可以有很多種實(shí)現(xiàn),有興趣的小伙伴可以自己試一試

大試牛刀

上面我們有說(shuō)到過(guò),springboot 幫忙把spring的依賴和配置簡(jiǎn)單化了,以前我們?cè)趕pring中都是用的各種<bean>去注入,現(xiàn)在在springboot中只需要在 application.perporty中配置下就可以了,我們可以往深入想一下,springboot 是怎么做到的呢?

首先,依賴肯定是用maven/gradle幫忙管理的,所以starter項(xiàng)目應(yīng)該也是一個(gè)maven/gradle的Springboot程序,在pom.xml把依賴都定義好,定義哪些?定義可以自動(dòng)配置的,詳情可以百度或自己實(shí)踐,在小刀的公眾號(hào)里面,從來(lái)沒(méi)有可以直接復(fù)制能用的,拋磚引玉,還是希望大家能一起思考,這樣才能有進(jìn)步

然后就是配置類,定義前綴,給默認(rèn)值等等,用  @ConfigurationProperties

有配置,有依賴,下面就要加載配置,初始化實(shí)例,準(zhǔn)備工作了,很多我們?cè)谝胹tarter之后,沒(méi)有配置bean,就可以直接用里面的功能了,就是這一步,starter里面幫我們裝配好了bean 并實(shí)例化,所以我們才可以直接用

最后就是用 spring.factories告訴spring , 哪些類要自動(dòng)裝配。思路如上,擴(kuò)展就是自己實(shí)現(xiàn)一個(gè)Springboot 的 starter

上述內(nèi)容就是java中怎么創(chuàng)建一個(gè)springboot工程,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI