鏈接
一步步學(xué)習(xí)java后臺(一)
一步步學(xué)習(xí)java后臺(二)
一步步學(xué)習(xí)java后臺(三)
本期目標(biāo)
學(xué)習(xí)Spring Boot的初始化,創(chuàng)建一個(gè)Spring Boot工程
Spring Boot
之前我們基于SpringMVC構(gòu)建了引導(dǎo)工程赎瑰,可以看到餐曼,SpringMVC,乃至Spring框架最大的痛點(diǎn)渠脉,在于配置文件過多芋膘。
對一個(gè)最簡單的MVC工程为朋,已經(jīng)出現(xiàn)了 xxx-servlet.xml 與 applicationContext.xml兩個(gè)配置文件习寸,里面標(biāo)簽眾多霞溪,據(jù)我所知鸯匹,后臺同學(xué)新建項(xiàng)目也是不停復(fù)制已有項(xiàng)目殴蓬,不到遇見bug的時(shí)候是不會去查標(biāo)簽意思的蟋滴。
SpringBoot就是用來解決這個(gè)痛點(diǎn)問題的津函。
下面??一段是我復(fù)制百度百科的Spring Boot的簡介:
SpringBoot所具備的特征有:
(1)可以創(chuàng)建獨(dú)立的Spring應(yīng)用程序,并且基于其Maven或Gradle插件尿赚,可以創(chuàng)建可執(zhí)行的JARs和WARs;
(2)內(nèi)嵌Tomcat或Jetty等Servlet容器屋讶;
(3)提供自動配置的“starter”項(xiàng)目對象模型(POMS)以簡化Maven配置皿渗;
(4)盡可能自動配置Spring容器;
(5)提供準(zhǔn)備好的特性划乖,如指標(biāo)挤土、健康檢查和外部化配置迷殿;
(6)絕對沒有代碼生成庆寺,不需要XML配置懦尝。 [1] [2]
Spring Boot讓我們的Spring應(yīng)用變的更輕量化陵霉。原理惡心至極的XML配置文件。最重要的是埃唯,對我這種后臺白癡來說撩匕,官方提供了一個(gè)配置平臺,可以自助的生成boot工程墨叛,下載之后我們用IDEA引入就好了止毕。
Spring Boot initializr
左側(cè)的選項(xiàng)我想大家都知道是怎么回事,如果你對java后臺一點(diǎn)了解也沒有漠趁,推薦你看下系列之前的SpringMVC的第一篇文章扁凛。
右側(cè) ADD Dependcies 可以添加依賴。因?yàn)槲覀円⒌氖呛笈_網(wǎng)絡(luò)工程闯传,需要認(rèn)證和數(shù)據(jù)庫谨朝,所以我們選擇以下幾項(xiàng):
Spring Web
MyBatis Framework
Spring Security
Spring Boot DevTools
然后點(diǎn)擊底部的generate按鈕,工程就會下載到本地洗出,然后使用IDEA引入即可,注意引入時(shí)和網(wǎng)站上工程左側(cè)第一個(gè)工程模板保持一致冗荸。
工程的結(jié)構(gòu)如下圖所示:
添加接口
接口Cotroller的創(chuàng)建和SpringMVC沒有任何區(qū)別,除了更簡單。
我們新建一個(gè)controller文件夾烦秩,然后再新建一個(gè)helloworldController:
@RestController
public class HelloWorldController {
@RequestMapping("/hello")
public String index() {
return "Hello World";
}
}
然后抛寝,不停的按option + enter,直到所有類的都被引入為止。
SpringBoot自帶tomcat,我們再也不需要配置本地tomcat和war包了失仁,直接像普通的java程序一樣楷扬,點(diǎn)擊run (commond + r)運(yùn)行即可:
如果你是參照我的步驟镣衡,現(xiàn)在應(yīng)該會報(bào)錯(cuò)
這是因?yàn)槲覀円肓薓ybatis的包惰说,卻沒有配置對應(yīng)的數(shù)據(jù)庫鏈接。
這里我們只是為了查看下helloworld的執(zhí)行情況拙寡,可以先將數(shù)據(jù)庫過濾,在Application中exclude掉自動引入類:
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
然后再次執(zhí)行就可以順利的運(yùn)行噩咪。讓我們訪問 http://127.0.0.1:8080/hello仆百,預(yù)期返回字符串hello吁讨。翎朱。
但是打開了一個(gè)登陸頁面:
這個(gè)是因?yàn)镾pring Security的驗(yàn)證攔截澈灼。
其默認(rèn)用戶名是user,而密碼是隨機(jī)生成的字符串驹马,在IDEA的log中可以找到:
當(dāng)然,我們也可以針對hello world接口跳過認(rèn)證:
@EnableAutoConfiguration(exclude = {SecurityAutoConfiguration.class})
現(xiàn)在訪問 http://127.0.0.1:8080/hello慕的,就可以看到返回值了。
參考資料:
Spring Boot基礎(chǔ)教程:http://blog.didispace.com/spring-boot-learning-2x/
Spring Boot基礎(chǔ)教程代碼:https://github.com/dyc87112/SpringBoot-Learning