作者:潛龍勿用
創(chuàng)新互聯(lián)公司專注于企業(yè)成都全網(wǎng)營(yíng)銷、網(wǎng)站重做改版、中山網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5技術(shù)、商城網(wǎng)站制作、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為中山等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
Spring 框架就像一個(gè)家族,有眾多衍生產(chǎn)品例如 boot、security、jpa等等。但他們的基礎(chǔ)都是Spring 的 ioc和 aop ioc 提供了依賴注入的容器 aop ,解決了面向橫切面的編程,然后在此兩者的基礎(chǔ)上實(shí)現(xiàn)了其他延伸產(chǎn)品的高級(jí)功能。
Spring MVC是基于 Servlet 的一個(gè) MVC 框架 主要解決 WEB 開發(fā)的問(wèn)題,因?yàn)?Spring 的配置非常復(fù)雜,各種XML、 JavaConfig、hin處理起來(lái)比較繁瑣。于是為了簡(jiǎn)化開發(fā)者的使用,從而創(chuàng)造性地推出了Spring boot,約定優(yōu)于配置,簡(jiǎn)化了spring的配置流程。
說(shuō)得更簡(jiǎn)便一些:Spring 最初利用“工廠模式”(DI)和“代理模式”(AOP)解耦應(yīng)用組件。大家覺得挺好用,于是按照這種模式搞了一個(gè) MVC框架(一些用Spring 解耦的組件),用開發(fā) web 應(yīng)用( SpringMVC )。然后有發(fā)現(xiàn)每次開發(fā)都寫很多樣板代碼,為了簡(jiǎn)化工作流程,于是開發(fā)出了一些“懶人整合包”(starter),這套就是 Spring Boot。
Spring MVC提供了一種輕度耦合的方式來(lái)開發(fā)web應(yīng)用。
Spring MVC是Spring的一個(gè)模塊,式一個(gè)web框架。通過(guò)Dispatcher Servlet, ModelAndView 和 View Resolver,開發(fā)web應(yīng)用變得很容易。解決的問(wèn)題領(lǐng)域是網(wǎng)站應(yīng)用程序或者服務(wù)開發(fā)——URL路由、Session、模板引擎、靜態(tài)Web資源等等。
Spring Boot實(shí)現(xiàn)了自動(dòng)配置,降低了項(xiàng)目搭建的復(fù)雜度。
眾所周知Spring框架需要進(jìn)行大量的配置,Spring Boot引入自動(dòng)配置的概念,讓項(xiàng)目設(shè)置變得很容易。Spring Boot本身并不提供Spring框架的核心特性以及擴(kuò)展功能,只是用于快速、敏捷地開發(fā)新一代基于Spring框架的應(yīng)用程序。
也就是說(shuō),它并不是用來(lái)替代Spring的解決方案,而是和Spring框架緊密結(jié)合用于提升Spring開發(fā)者體驗(yàn)的工具。同時(shí)它集成了大量常用的第三方庫(kù)配置(例如Jackson, JDBC, Mongo, redis, Mail等等),Spring Boot應(yīng)用中這些第三方庫(kù)幾乎可以零配置的開箱即用(out-of-the-box),大部分的Spring Boot應(yīng)用都只需要非常少量的配置代碼,開發(fā)者能夠更加專注于業(yè)務(wù)邏輯。
Spring Boot只是承載者,輔助你簡(jiǎn)化項(xiàng)目搭建過(guò)程的。如果承載的是WEB項(xiàng)目,使用Spring MVC作為MVC框架,那么工作流程和你上面描述的是完全一樣的,因?yàn)檫@部分工作是Spring MVC做的而不是Spring Boot。
對(duì)使用者來(lái)說(shuō),換用Spring Boot以后,項(xiàng)目初始化方法變了,配置文件變了,另外就是不需要單獨(dú)安裝Tomcat這類容器服務(wù)器了,maven打出jar包直接跑起來(lái)就是個(gè)網(wǎng)站,但你最核心的業(yè)務(wù)邏輯實(shí)現(xiàn)與業(yè)務(wù)流程實(shí)現(xiàn)沒有任何變化。
所以,用最簡(jiǎn)練的語(yǔ)言概括就是:
Spring 是一個(gè)“引擎”;
Spring MVC 是基于Spring的一個(gè) MVC 框架 ;
Spring Boot 是基于Spring4的條件注冊(cè)的一套快速開發(fā)整合包。
歡迎大家一起交流,喜歡文章記得點(diǎn)個(gè)贊,感謝支持!