1. 從零開始學(xué)springboot-概念原理篇

前言

最近廓块,公司傳來“噩耗”:公司統(tǒng)一技術(shù)棧赤兴,一律使用java語言開發(fā),沒得商量。此時乏冀,作為“世界上最好語言”的phper博主,心情如下:


00493b59646382083565047f567ed1e12f9d2ce1.png

好吧啊片,開玩笑的涛浙。畢竟作者一貫的理念是“語言只是工具”,so然磷,語言什么的無所謂~(實在是最近行業(yè)不景氣…………)

說說作者的情況吧郑趁,從業(yè)5年多,因為業(yè)務(wù)需要姿搜,java安卓寡润,c++,python基本上學(xué)了個遍舅柜,正常都是為了實現(xiàn)某個業(yè)務(wù)模塊去自學(xué)一個語種梭纹,所以,自認(rèn)為對java還是有點基礎(chǔ)的致份。于是变抽,開始了spring的學(xué)習(xí)(坑)之路~

技術(shù)選型

基于目前的現(xiàn)狀,基本上沒什么選擇知举,上spring全家桶吧瞬沦。早期還有不少基于Struts1&Struts2的項目,但是因為著名的RCE(遠(yuǎn)程代碼執(zhí)行)漏洞導(dǎo)致大批開發(fā)者遠(yuǎn)離雇锡。當(dāng)然逛钻,基于一些歷史原因,Struts還是有不少的市場的锰提。

spring概念

spring系列的框架有一堆曙痘,總是不經(jīng)意間會被srping、springMVC立肘、SpringBoot 边坤,SpringBoot 這些東西繞暈,它們都是什么谅年?彼此間又是什么關(guān)系茧痒?

  • spring
    spring 是一個輕量級的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器,Java 開發(fā)框架,spring是為了簡化企業(yè)級開發(fā)的框架融蹂,在實際開發(fā)中還是需要配置xml文件或者javaconfig文件旺订,并且需要考慮各個框架之間的融合性問題弄企。

IoC:控制反轉(zhuǎn),一種設(shè)計思想区拳,它是spring的核心拘领。
對于spring框架來說,就是由spring來負(fù)責(zé)控制對象的生命周期和對象間的關(guān)系樱调。對于這個描述還是不理解的話约素,

1.jpg

你需要找個女盆友(男盆友也行),要求是S型曲線笆凌,瓜子臉圣猎,膚白貌美……,顯然除了你一個個去找沒有其它辦法菩颖。但是現(xiàn)在有了“中介”样漆,你直接把你的要求告訴中介,中介直接給你提供“對象”晦闰,是不是很爽放祟?,是的呻右,IoC干的這樣的事跪妥。簡而言之,對象交給 spring (IoC)控制管理声滥,而不是傳統(tǒng)的由你在對象內(nèi)部直接控制眉撵。

AOP:傳統(tǒng)OOP面向?qū)ο缶幊蹋谖覀儗嶋H開發(fā)中都會有具體的業(yè)務(wù)模塊需求落塑,但是我們在實現(xiàn)這些業(yè)務(wù)模塊功能的時候纽疟,經(jīng)常要干一些額外的不可避免的事情,比如事務(wù)的管理憾赁,日志的記錄等污朽,并且在每個業(yè)務(wù)模塊都必須要實現(xiàn)一次,這就導(dǎo)致代碼的重復(fù)和耦合龙考。AOP把軟件分為兩個部分:核心業(yè)務(wù)邏輯組件和橫切關(guān)注點蟆肆。核心業(yè)務(wù)邏輯就是我們要實現(xiàn)的業(yè)務(wù)邏輯,而像日志晦款、驗證炎功、事務(wù)等等這些與核心業(yè)務(wù)邏輯不想關(guān)的稱為橫切關(guān)注點。

1.jpg

已實現(xiàn)一個系統(tǒng)的登錄舉例缓溅,


1.png

我們可以把業(yè)務(wù)流程1和業(yè)務(wù)流程2看做核心業(yè)務(wù)邏輯(豎著看)蛇损,但是橫著的驗證,日志記錄等這些不屬于核心業(yè)務(wù)邏輯卻必須要做(不做這些你試試?)淤齐,橫著的這部分就叫做橫切關(guān)注點束世,整體上看就像驗證日志這些功能橫著切入豎著的核心業(yè)務(wù)流程當(dāng)中去的,有木有很形象床玻?!

AOP的好處不言而喻:
1.橫切關(guān)注點都集中于一塊沉帮,不會出現(xiàn)大量重復(fù)代碼锈死;
2.核心模塊只關(guān)注核心功能的代碼,模塊間藕合度降低穆壕。

簡而言之待牵,AOP就是在運行時,動態(tài)地將代碼切入到類的指定方法喇勋、指定位置上的編程思想缨该。

  • springMVC

springMVC主要處理web開發(fā)的路徑映射和視圖渲染,屬于spring框架中WEB層開發(fā)的一部分川背。我們可以把spring和mvc分開理解贰拿,mvc相信各位開發(fā)者都很了解,簡言之就是c(控制器)將v(視圖)與m(模塊業(yè)務(wù))分開構(gòu)成了mvc熄云,spring作為專業(yè)的開發(fā)web項目的開源框架膨更,springMVC為內(nèi)部的一個模塊環(huán)節(jié),同樣采取mvc設(shè)計模式缴允。 所以在使用spring開發(fā)web項目時荚守,作為核心環(huán)節(jié)的MVC可以使用struts1/struts2/springMVC等

  • springboot

使用spring整合基礎(chǔ)框架時會發(fā)現(xiàn)如下兩點:

  1. 整了半天云里霧里不知道在干什么
  2. 手動配置很是繁瑣

此時,springboot閃亮登場练般。主要特點如下:

  1. 注解會給使用者提供方便
  2. 對第三方技術(shù)進(jìn)行了很好的封裝和整合矗漾,提供了大量第三方接口
  3. 可以通過依賴自動配置,不需要XML等配置文件
  4. 提供了安全等特性
  • springcloud

springcloud是微服務(wù)解決方案薄料,非常方便敞贡,是基于springboot的。

總結(jié)

綜上都办,目前可以這么理解

  1. springMVC是spring框架的一部分
  2. 快速構(gòu)建項目直接使用springboot即可
  3. 想比較好的理解springboot最好還是從spring入手嫡锌,這樣對比才能理解springboot到底做了哪些東西
  4. springcloud是基于springboot提供的微服務(wù)方案

請關(guān)注我的訂閱號

訂閱號.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市琳钉,隨后出現(xiàn)的幾起案子势木,更是在濱河造成了極大的恐慌,老刑警劉巖歌懒,帶你破解...
    沈念sama閱讀 218,204評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件啦桌,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機甫男,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評論 3 395
  • 文/潘曉璐 我一進(jìn)店門且改,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人板驳,你說我怎么就攤上這事又跛。” “怎么了若治?”我有些...
    開封第一講書人閱讀 164,548評論 0 354
  • 文/不壞的土叔 我叫張陵慨蓝,是天一觀的道長。 經(jīng)常有香客問我端幼,道長礼烈,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,657評論 1 293
  • 正文 為了忘掉前任婆跑,我火速辦了婚禮此熬,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘滑进。我一直安慰自己犀忱,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,689評論 6 392
  • 文/花漫 我一把揭開白布扶关。 她就那樣靜靜地躺著峡碉,像睡著了一般。 火紅的嫁衣襯著肌膚如雪驮审。 梳的紋絲不亂的頭發(fā)上鲫寄,一...
    開封第一講書人閱讀 51,554評論 1 305
  • 那天,我揣著相機與錄音疯淫,去河邊找鬼地来。 笑死,一個胖子當(dāng)著我的面吹牛熙掺,可吹牛的內(nèi)容都是我干的未斑。 我是一名探鬼主播,決...
    沈念sama閱讀 40,302評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼币绩,長吁一口氣:“原來是場噩夢啊……” “哼蜡秽!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起缆镣,我...
    開封第一講書人閱讀 39,216評論 0 276
  • 序言:老撾萬榮一對情侶失蹤芽突,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后董瞻,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體寞蚌,經(jīng)...
    沈念sama閱讀 45,661評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡田巴,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,851評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了挟秤。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片壹哺。...
    茶點故事閱讀 39,977評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖艘刚,靈堂內(nèi)的尸體忽然破棺而出管宵,到底是詐尸還是另有隱情,我是刑警寧澤攀甚,帶...
    沈念sama閱讀 35,697評論 5 347
  • 正文 年R本政府宣布啄糙,位于F島的核電站,受9級特大地震影響云稚,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜沈堡,卻給世界環(huán)境...
    茶點故事閱讀 41,306評論 3 330
  • 文/蒙蒙 一静陈、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧诞丽,春花似錦鲸拥、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至懂衩,卻和暖如春撞叨,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背浊洞。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評論 1 270
  • 我被黑心中介騙來泰國打工牵敷, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人法希。 一個月前我還...
    沈念sama閱讀 48,138評論 3 370
  • 正文 我出身青樓枷餐,卻偏偏與公主長得像,于是被迫代替她去往敵國和親苫亦。 傳聞我的和親對象是個殘疾皇子毛肋,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,927評論 2 355

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