點擊上方 "程序員小樂"關注, 星標或置頂一塊兒成長php
天天凌晨00點00分, 第一時間與你相約html
每日英文程序員
Never expect, never assume, and never demand. Just let it be, because if it's meant to be, it will happen the way you want it to.web
永不期待,永不假設,永不強求。順其天然,如果註定發生,必會如你所願。面試
每日掏心話spring
相見是幸福,相見是緣分的天定,愛上你就沒有回頭,你全部的脾氣,全部不高興衝我而來,我都能讓你在個人微笑中化解,化爲一世的不離不棄,我獨霸你心靈的所有。編程
來自:潛龍勿用 | 責編:樂樂設計模式
連接:zhihu.com/question/64671972服務器
程序員小樂(ID:study_tech)第 713 次推文 圖片來自網絡網絡
往日回顧:***發佈微軟 Windows 7 更新破解工具:免費「續命」3年!
正文
Spring 框架就像一個家族,有衆多衍生產品例如 boot、security、jpa等等。但他們的基礎都是Spring 的 ioc和 aop ioc 提供了依賴注入的容器 aop ,解決了面向橫切面的編程,而後在此二者的基礎上實現了其餘延伸產品的高級功能。
Spring MVC是基於 Servlet 的一個 MVC 框架 主要解決 WEB 開發的問題,由於 Spring 的配置很是複雜,各類XML、 JavaConfig、hin處理起來比較繁瑣。因而爲了簡化開發者的使用,從而創造性地推出了Spring boot,約定優於配置,簡化了spring的配置流程。
說得更簡便一些:Spring 最初利用「工廠模式」(DI)和「代理模式」(AOP)解耦應用組件。你們以爲挺好用,因而按照這種模式搞了一個 MVC框架(一些用Spring 解耦的組件),用開發 web 應用( SpringMVC )。而後有發現每次開發都寫不少樣板代碼,爲了簡化工做流程,因而開發出了一些「懶人整合包」(starter),這套就是 Spring Boot。
Spring MVC提供了一種輕度耦合的方式來開發web應用。
Spring MVC是Spring的一個模塊,式一個web框架。經過Dispatcher Servlet, ModelAndView 和 View Resolver,開發web應用變得很容易。解決的問題領域是網站應用程序或者服務開發——URL路由、Session、模板引擎、靜態Web資源等等。
Spring Boot實現了自動配置,下降了項目搭建的複雜度。
衆所周知Spring框架須要進行大量的配置,Spring Boot引入自動配置的概念,讓項目設置變得很容易。Spring Boot自己並不提供Spring框架的核心特性以及擴展功能,只是用於快速、敏捷地開發新一代基於Spring框架的應用程序。
也就是說,它並非用來替代Spring的解決方案,而是和Spring框架緊密結合用於提高Spring開發者體驗的工具。同時它集成了大量經常使用的第三方庫配置(例如Jackson, JDBC, Mongo, Redis, Mail等等),Spring Boot應用中這些第三方庫幾乎能夠零配置的開箱即用(out-of-the-box),大部分的Spring Boot應用都只須要很是少許的配置代碼,開發者可以更加專一於業務邏輯。
Spring Boot只是承載者,輔助你簡化項目搭建過程的。若是承載的是WEB項目,使用Spring MVC做爲MVC框架,那麼工做流程和你上面描述的是徹底同樣的,由於這部分工做是Spring MVC作的而不是Spring Boot。
對使用者來講,換用Spring Boot之後,項目初始化方法變了,配置文件變了,另外就是不須要單獨安裝Tomcat這類容器服務器了,maven打出jar包直接跑起來就是個網站,但你最核心的業務邏輯實現與業務流程實現沒有任何變化。
因此,用最簡練的語言歸納就是:
Spring 是一個「引擎」;
Spring MVC 是基於Spring的一個 MVC 框架 ;
Spring Boot 是基於Spring4的條件註冊的一套快速開發整合包。
歡迎在留言區留下你的觀點,一塊兒討論提升。若是今天的文章讓你有新的啓發,學習能力的提高上有新的認識,歡迎轉發分享給更多人。
歡迎各位讀者加入程序員小樂技術羣,在公衆號後臺回覆「加羣」或者「學習」便可。
猜你還想看
關注「程序員小樂」,收看更多精彩內容