了解Springboot入門注解

一杯咖啡 ?? 開啟一天美好心情白修,今天我們看看Springboot的核心注解涡拘。它們是:

  • @SpringBootApplication
  • @EnableAutoConfiguration
  • @ComponentScan
  • @Configuration

離開實戰(zhàn)都是空談岩饼,我們通過一個所有程序員都逃不掉的模塊 – 用戶登錄 來說明。
源代碼下載

Springboot 實戰(zhàn) - 用戶登錄

用戶登錄看起來是一個簡單的功能,但初學不知道從哪里入手烈评。實際項目中要考慮的事情還要多一些。我們不妨把這些都覆蓋到工三,將這個任務(wù)分成幾個階段講細講透迁酸,并一一實現(xiàn)。

階段目標

今天的目標從最基礎(chǔ)的環(huán)境搭建開始俭正,直到程序運行起來奸鬓,看見登錄頁面忌愚。
具體步驟包括:

  1. 搭建開發(fā)環(huán)境
  2. 使用Springboot創(chuàng)建項目
  3. 寫登錄頁面矗漾,并運行程序

搭建開發(fā)環(huán)境

+


開發(fā)環(huán)境包括

  1. JDK 14 : 到今天為止 JDK都出到版本15了沉桌,業(yè)界實際項目中使用的主流版本是 1.8婴氮。主要是Java出新版本太快了母债,另外新版本中一些新特性并不是人人都需要其兴。
  2. Intellij IDEA: 工于善其事概页,必先利其器敬尺。 V哥多年的開發(fā)經(jīng)驗告訴我這是目前最好的Java編程工具

這兩款軟件的安裝都非常簡單肾请,下載好留搔,然后點“下一步”, “下一步” 就 OK 了铛铁。

使用Springboot創(chuàng)建項目

我們的目標是寫一個用戶登錄的網(wǎng)頁程序隔显。這個網(wǎng)頁程序?qū)嶋H是這樣運轉(zhuǎn)的却妨。

  1. 用戶打開瀏覽器,輸入項目地址括眠,也叫URL彪标,按回車
  2. 瀏覽器往這個項目地址發(fā)送網(wǎng)絡(luò)請求
  3. 上面瀏覽器發(fā)的請求實際上是被一臺服務(wù)器上的程序接收
  4. 服務(wù)器處理這個請求,并返回一個 HTML
  5. 瀏覽器把這個HTML顯示出來掷豺,這就是你看到的登錄頁面

那么我們得 :

  1. 找臺服務(wù)器(一臺電腦)捞烟;
  2. 學習服務(wù)器上的處理程序怎么寫;
  3. 程序用到Spring框架萌业,還得學習Spring 框架坷襟。

太復(fù)雜了,為了讓上手方便生年,于是Pivitol公司給提供了Springboot婴程。Springboot 把不同類型項目要用到的工具都預(yù)先做了配置,形成一個個套裝抱婉,我們直接選用這些套裝就可以開發(fā)了档叔。太方便!

在Intellij IDEA中創(chuàng)建項目

打開Intellij, 創(chuàng)建項目


從左側(cè)菜單中選擇 Spring Initializr蒸绩, 即Springboot項目的創(chuàng)建向?qū)А?br> 在右側(cè)選擇項目SDK衙四。
這里有個小插曲, 新安裝的Intellij IDEA, 需要點擊 New... -> JDK來進行設(shè)置患亿, 告訴Intellij IDEA传蹈,你的JDK安裝在電腦上什么位置。以后創(chuàng)建項目就不需要了步藕。


找到JDK安裝位置惦界,點擊打開 Open


接下來設(shè)置項目基本參數(shù),在現(xiàn)在的Java世界中咙冗,每個Java程序都有一個標識沾歪。這個標識由三部分組成:

  1. group 一般是公司域名反寫
  2. artifact 程序名稱
  3. version 版本號
    另外我們指定使用的Java版本為11


接下來開始選擇要使用Springboot提供的哪些套件,下圖中雾消,左邊是套件分類灾搏,中間是具體的套件內(nèi)容,勾選要使用的就可以了立润。
我們現(xiàn)在要用到的有Spring Web和 Apache Freemarker狂窑。其他的我們用到的時候再添加。


選擇完成后需要等待一段時間桑腮,IDEA會將選擇的Springboot套件下載到本地

默認工程結(jié)構(gòu)和核心配置

Springboot的特點是方便蕾域。它已按照前面指定的group和artifact創(chuàng)建了標準的目錄結(jié)構(gòu),并生成了程序啟動類WateraffairApplication.java。我們以后的代碼只要放在根目錄(com/jpin/wateraffair)下面旨巷,Springboot就能掃描到它們巨缘,并且進行相應(yīng)的配置。

@Configuration配置

Java程序有兩中配置方式采呐,1:Java注解若锁, 2: XML文件
Springboot喜歡第一種方式,只需要給Java類加上 @Configuration就把這個類標記為配置類了斧吐。配置類可以通過@Import注解引入另外一個帶@Configuration的配置類又固。

@EnableAutoConfiguration根據(jù)classpath上的jar做自動配置

Springboot還有一項神奇的功能是掃描你加在classpath的jar包,自動做程序配置煤率⊙龉冢可以通過使用@EnableAutoConfiguration打開它。

@ComponentScan

使用這個注解蝶糯, Springboot掃描并配置Sping Bean

@SpringBootApplication 注解

Spring在啟動類上自動添加的@SpringBootApplication注解洋只,相當于同時加上了 @Configuration @EnableAutoConfiguration @ComponentScan 三個注解


12-目錄結(jié)構(gòu).png

寫登錄頁面并運行程序

上面完成了Springboot Web項目的搭建,接下來動手寫代碼了昼捍。需要有Spring MVC的基礎(chǔ)概念识虚。
好的編程習慣很重要,我們先創(chuàng)建一個login的java包妒茬,以后登錄相關(guān)的代碼都放在里面担锤。
創(chuàng)建一個LoginController,讓他處理 / 這個路徑乍钻,處理的結(jié)果是把 loginUI 里面的 HTML 代碼返回給瀏覽器肛循。


能動態(tài)生成HTML的工具有很多,我們的HTML是通過 Freemarker這個模板引擎生成的银择,至于為什么選擇Freemarker育拨,以后解釋。
接下來修改Springboot的配置文件 application.properties欢摄,告訴Springboot,F(xiàn)reemarker文件的后綴名為.ftl笋粟。這樣Springboot就按照Controller返回的字符串加上.ftl后綴名到項目中templates目錄下去找對應(yīng)的Freemarker文件了怀挠。

按照上面的規(guī)則在 templates 目錄下創(chuàng)建 loginUI.ftl文件,寫入HTML代碼


運行程序查看效果

點擊工具條上的 調(diào)試 按鈕害捕,Intellij IDEA會自動啟動SpringBoot程序绿淋。下方控制臺(console)會顯示啟動的進度。當看到 Tomcat started on port(s): 8080 (http) 就表明服務(wù)器啟動成功了


s10-createApp.png

打開網(wǎng)頁瀏覽器尝盼,輸入網(wǎng)址 http://localhost:8080/ 就可以看到效果了

效果

總結(jié)

我們完成了預(yù)定的目標

  1. 搭建開發(fā)環(huán)境
  2. 使用Springboot創(chuàng)建項目
  3. 寫登錄頁面吞滞,并運行程序

認識了SpringBoot的核心注解

  1. @EnableAutoConfiguration 自動配置
  2. @ComponentScan 掃描Spring Component
  3. @Configuration 標記配置類
  4. @SpringBootApplication

源代碼下載

下一期我們來完成登錄頁面并實現(xiàn)圖形驗證碼的功能

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子裁赠,更是在濱河造成了極大的恐慌殿漠,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,451評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件佩捞,死亡現(xiàn)場離奇詭異绞幌,居然都是意外死亡,警方通過查閱死者的電腦和手機一忱,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評論 3 394
  • 文/潘曉璐 我一進店門莲蜘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人帘营,你說我怎么就攤上這事票渠。” “怎么了芬迄?”我有些...
    開封第一講書人閱讀 164,782評論 0 354
  • 文/不壞的土叔 我叫張陵问顷,是天一觀的道長。 經(jīng)常有香客問我薯鼠,道長择诈,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,709評論 1 294
  • 正文 為了忘掉前任出皇,我火速辦了婚禮羞芍,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘郊艘。我一直安慰自己荷科,他們只是感情好,可當我...
    茶點故事閱讀 67,733評論 6 392
  • 文/花漫 我一把揭開白布纱注。 她就那樣靜靜地躺著畏浆,像睡著了一般。 火紅的嫁衣襯著肌膚如雪狞贱。 梳的紋絲不亂的頭發(fā)上刻获,一...
    開封第一講書人閱讀 51,578評論 1 305
  • 那天,我揣著相機與錄音瞎嬉,去河邊找鬼蝎毡。 笑死,一個胖子當著我的面吹牛氧枣,可吹牛的內(nèi)容都是我干的沐兵。 我是一名探鬼主播,決...
    沈念sama閱讀 40,320評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼便监,長吁一口氣:“原來是場噩夢啊……” “哼扎谎!你這毒婦竟也來了碳想?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,241評論 0 276
  • 序言:老撾萬榮一對情侶失蹤毁靶,失蹤者是張志新(化名)和其女友劉穎胧奔,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體老充,經(jīng)...
    沈念sama閱讀 45,686評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡葡盗,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,878評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了啡浊。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片觅够。...
    茶點故事閱讀 39,992評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖巷嚣,靈堂內(nèi)的尸體忽然破棺而出喘先,到底是詐尸還是另有隱情,我是刑警寧澤廷粒,帶...
    沈念sama閱讀 35,715評論 5 346
  • 正文 年R本政府宣布窘拯,位于F島的核電站,受9級特大地震影響坝茎,放射性物質(zhì)發(fā)生泄漏涤姊。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,336評論 3 330
  • 文/蒙蒙 一嗤放、第九天 我趴在偏房一處隱蔽的房頂上張望思喊。 院中可真熱鬧,春花似錦次酌、人聲如沸恨课。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽剂公。三九已至,卻和暖如春吊宋,著一層夾襖步出監(jiān)牢的瞬間纲辽,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評論 1 270
  • 我被黑心中介騙來泰國打工璃搜, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留拖吼,地道東北人。 一個月前我還...
    沈念sama閱讀 48,173評論 3 370
  • 正文 我出身青樓腺劣,卻偏偏與公主長得像,于是被迫代替她去往敵國和親因块。 傳聞我的和親對象是個殘疾皇子橘原,可洞房花燭夜當晚...
    茶點故事閱讀 44,947評論 2 355

推薦閱讀更多精彩內(nèi)容