你如何更快、更有效的學(xué)習(xí)SpringBoot?

? ?1、這么多技術(shù),咋辦?
? ? ?當(dāng)下最主流的后端技術(shù)是SpringBoot框架,很多還沒畢業(yè)的同學(xué)估計都沒聽說過,學(xué)校的教材依然停留在十幾年前的JavaSE、J2EE、Servlet、JSP。時代跑得太快了,馬上畢業(yè)的同學(xué)在做畢業(yè)設(shè)計時,在網(wǎng)上或多或少搜索到相關(guān)技術(shù)。而當(dāng)前技術(shù)點又非常的多,五花八門,導(dǎo)致很多同學(xué)無從下手,時間就這么一天天的過去了,焦急萬分。
? ? ?UP主的微信里加了很多這樣的小伙伴,每天都問這些類似的問題。這也我寫這篇文章的主要原因。
?2、SpringBoot是什么鬼?

? ? SpringBoot不是什么新鮮的框架,它是由 Pivotal 團隊提供的全新框架,其設(shè)計目的是用來簡化新 Spring 應(yīng)用的初始搭建以及開發(fā)過程。該框架使用了特定的方式來進(jìn)行配置,從而使開發(fā)人員不再需要定義樣板化的配置。采用 Spring Boot 可以大大的簡化你的開發(fā)模式,所有想集成的常用框架,它都有對應(yīng)的組件支持。
? ? ? Spring Boot 是一套全新的框架,自于 Spring 大家族,因此 Spring 所有具備的功能它都有,而且更容易使用。Spring Boot 以約定大于配置的核心思想,默認(rèn)幫我們進(jìn)行了很多設(shè)置,多數(shù) Spring Boot 應(yīng)用只需要很少的 Spring 配置。Spring Boot 開發(fā)了很多的應(yīng)用集成包,支持絕大多數(shù)開源軟件,讓我們以很低的成本去集成其它主流開源軟件。
?3、我只想知道怎么學(xué)得更快,別廢話
? ? ? 那么,重點來了,應(yīng)該如何學(xué)SpringBoot才能更快?更節(jié)約時間呢?其實不光是SpringBoot的學(xué)習(xí)方法是這樣,學(xué)習(xí)任何新技術(shù),都應(yīng)該按照如下的基本思路:
初步認(rèn)識框架、方向,了解官方權(quán)威資料。它到底可以做什么、有哪幾個核心模塊;
了解架構(gòu)思想、核心概念、使用場景。例如Spring中三大核心:SpringMVC、SpringIOC、Spring AOP。UP主在過去面試了很多人,大多數(shù)人把SpringMVC當(dāng)作Spring框架,這就是沒有理解好MVC原理的原因;
初學(xué)者以示例、單點突破為主學(xué)習(xí),這個過程務(wù)必親自敲代碼,不要停留在看、聽的面上。要總結(jié),記錄。
最后用一個完整的案例做一遍,所謂的案例不是別人的源代碼。很多的同學(xué)喜歡一步到位,想通過一個項目就完事。這種速成方法會遺漏很多的知識。
?4、光說不練,干貨呢?
? ? ?如果你還迷茫,可以把計劃列得更細(xì)一些:
第1步:相關(guān)的環(huán)境、開發(fā)工具,快速了解SpringBoot基本概念:MVC、IOC、AOP;
第2步:動手創(chuàng)建一個SpringBoot項目,讓它能運行起來,知道項目的基本結(jié)構(gòu);
第3步:將SpringBoot中常用的注解挨個用一遍,別嫌棄簡單,先熟練的使用起來;
第4步:將SpringBoot集成的MyBatis用熟練,xml、注解都要非常清楚,涉及完整的場景;
第5步:將SpringData JPA用熟練,有條件的話,可以試著mysql、mongoDB、Redis等;
第6步:基于SpringBoot所集成的安全框架,做一個完整的登錄模塊;
第7步:結(jié)合前端,做一個完整的增刪改查功能,初嘗一個業(yè)務(wù)功能包括的最基本的API;
第8步:如果系統(tǒng)中涉及消息發(fā)送、郵件發(fā)送、大并發(fā)等,練習(xí)相關(guān)的MQ、短信、郵件并發(fā)、異步發(fā)送的示例;
第9步:基本的功能掌握得差不多了。還想稍微高大上一點怎么辦?那就利用AOP方面編程技術(shù),改良一下代碼吧。例如:做一個操作日志功能,淋漓盡致的體現(xiàn)對AOP的熟練程度,比去聽AOP底層怎么造出來的原理,源碼,反射、動態(tài)代理等一大堆的管用100倍。AOP框架也就那樣,自己學(xué)好基礎(chǔ),看懂反射、代理模式、動態(tài)代理、注解也是很輕松。當(dāng)下,學(xué)會怎么用是企業(yè)最需要的,而不是去造第二個AOP框架。
第10步:如果沒什么意外,到此基本的一個后臺功能是會做了。要做畢業(yè)設(shè)計,用Axure來勾畫出要做的產(chǎn)品、用PowerDesigner設(shè)計數(shù)據(jù)庫。之后,就能輕松的去應(yīng)對開發(fā)了。當(dāng)做完畢業(yè)設(shè)計,你回頭再看看你自己寫的代碼,你會發(fā)現(xiàn)你之前不少的地方為什么那樣寫,為什么當(dāng)初那么菜?這么看就對了,代碼是不斷的重構(gòu),如果你發(fā)現(xiàn)哪里不好,嘗試著看看設(shè)計原則、設(shè)計模式、代碼之美、項目重構(gòu)等相關(guān)方面的知識吧。那樣會有一個質(zhì)的飛躍。
? ? ? 如何監(jiān)督自己做好這些事情?你還可以用Project列一份計劃表。把自己要做的一灘事當(dāng)做一個項目,對項目進(jìn)行管理。呵,這也是可以鍛煉你做事情采用“項目管理”思維哦,將來在工作崗位上也用得著。

?5、UP主,有什么干貨分享一下吧,我等不及了
??? ? ?UP假裝一下有幾十萬粉絲在問,自問自答娛樂一下。
? ? ? ?好吧,把之前的一些視頻分享一下。
? ? ?快速了解SpringBoot基本概念:MVC、IOC、AOP。
? ? ?領(lǐng)到《全棧工程師修煉之路》Part4的同學(xué),在“第一章 第2節(jié) Spring中的重要概念理解” 有詳細(xì)的解釋。?

? ? 之后,各個示例、源代碼,可以看第二、第三、第四、第五、第六章節(jié)。

如果看書很累,看看視頻也可以。以下是UP往期錄制的視頻

SpringMVC和常用注解:

? 基于SpringBoot和ElementUI 的前后端分離“客戶信息展示”:

?全棧工程師技能包:

小伙伴問題匯總:


? ??? 接下來UP主會錄制其他專題的視頻,大致會有:
SpringBoot AOP 案例
前端異步編程Axois、封裝原生的Ajax
基于SpringBoot安全框架完整的注冊、權(quán)限框架
VUE+Springboot+MyBatis XML
VUE+Springboot+MyBatis 注解
微信小程序+SpringBoot+Mybatis
視頻彈幕+后端案例
vue組件化開發(fā)+后端案例
封裝原生的JDBC
Echart+springBoot案例
設(shè)計一個動態(tài)的BI組件
一個完整的購物車功能
一個完整的新聞發(fā)布功能
軟件工程管理相關(guān)
原型設(shè)計相關(guān)
數(shù)據(jù)庫設(shè)計相關(guān)
編碼規(guī)范相關(guān)的
IDEA快捷鍵操作和總結(jié)