一杯咖啡 ?? 開啟一天美好心情白修,今天我們看看Springboot的核心注解涡拘。它們是:
- @SpringBootApplication
- @EnableAutoConfiguration
- @ComponentScan
- @Configuration
離開實戰(zhàn)都是空談岩饼,我們通過一個所有程序員都逃不掉的模塊 – 用戶登錄 來說明。
源代碼下載
Springboot 實戰(zhàn) - 用戶登錄
用戶登錄看起來是一個簡單的功能,但初學不知道從哪里入手烈评。實際項目中要考慮的事情還要多一些。我們不妨把這些都覆蓋到工三,將這個任務(wù)分成幾個階段講細講透迁酸,并一一實現(xiàn)。
階段目標
今天的目標從最基礎(chǔ)的環(huán)境搭建開始俭正,直到程序運行起來奸鬓,看見登錄頁面忌愚。
具體步驟包括:
- 搭建開發(fā)環(huán)境
- 使用Springboot創(chuàng)建項目
- 寫登錄頁面矗漾,并運行程序
搭建開發(fā)環(huán)境
+
開發(fā)環(huán)境包括
- JDK 14 : 到今天為止 JDK都出到版本15了沉桌,業(yè)界實際項目中使用的主流版本是 1.8婴氮。主要是Java出新版本太快了母债,另外新版本中一些新特性并不是人人都需要其兴。
- Intellij IDEA: 工于善其事概页,必先利其器敬尺。 V哥多年的開發(fā)經(jīng)驗告訴我這是目前最好的Java編程工具
這兩款軟件的安裝都非常簡單肾请,下載好留搔,然后點“下一步”, “下一步” 就 OK 了铛铁。
使用Springboot創(chuàng)建項目
我們的目標是寫一個用戶登錄的網(wǎng)頁程序隔显。這個網(wǎng)頁程序?qū)嶋H是這樣運轉(zhuǎn)的却妨。
- 用戶打開瀏覽器,輸入項目地址括眠,也叫URL彪标,按回車
- 瀏覽器往這個項目地址發(fā)送網(wǎng)絡(luò)請求
- 上面瀏覽器發(fā)的請求實際上是被一臺服務(wù)器上的程序接收
- 服務(wù)器處理這個請求,并返回一個 HTML
- 瀏覽器把這個HTML顯示出來掷豺,這就是你看到的登錄頁面
那么我們得 :
- 找臺服務(wù)器(一臺電腦)捞烟;
- 學習服務(wù)器上的處理程序怎么寫;
- 程序用到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程序都有一個標識沾歪。這個標識由三部分組成:
- group 一般是公司域名反寫
- artifact 程序名稱
-
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 三個注解
寫登錄頁面并運行程序
上面完成了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ù)器啟動成功了
打開網(wǎng)頁瀏覽器尝盼,輸入網(wǎng)址 http://localhost:8080/ 就可以看到效果了
總結(jié)
我們完成了預(yù)定的目標
- 搭建開發(fā)環(huán)境
- 使用Springboot創(chuàng)建項目
- 寫登錄頁面吞滞,并運行程序
認識了SpringBoot的核心注解
- @EnableAutoConfiguration 自動配置
- @ComponentScan 掃描Spring Component
- @Configuration 標記配置類
- @SpringBootApplication
下一期我們來完成登錄頁面并實現(xiàn)圖形驗證碼的功能