Spring 框架就像一個家族,有眾多衍生產品例如 boot、security、jpa等等。但他們的基礎都是Spring 的 ioc和 aop ioc 提供了依賴注入的容器 aop ,解決了面向橫切面的編程,然后在此兩者的基礎上實現(xiàn)了其他延伸產品的高級功能。
Spring MVC是基于 Servlet 的一個 MVC 框架 主要解決 WEB 開發(fā)的問題,因為 Spring 的配置非常復雜,各種XML、 JavaConfig、hin處理起來比較繁瑣。于是為了簡化開發(fā)者的使用,從而創(chuàng)造性地推出了Spring boot,約定優(yōu)于配置,簡化了spring的配置流程。
說得更簡便一些:Spring 最初利用“工廠模式”(DI)和“代理模式”(AOP)解耦應用組件。大家覺得挺好用,于是按照這種模式搞了一個 MVC框架(一些用Spring 解耦的組件),用開發(fā) web 應用( SpringMVC )。然后有發(fā)現(xiàn)每次開發(fā)都寫很多樣板代碼,為了簡化工作流程,于是開發(fā)出了一些“懶人整合包”(starter),這套就是 Spring Boot。
Spring MVC的功能
Spring MVC提供了一種輕度耦合的方式來開發(fā)web應用。
Spring MVC是Spring的一個模塊,式一個web框架。通過Dispatcher Servlet, ModelAndView 和 View Resolver,開發(fā)web應用變得很容易。解決的問題領域是網(wǎng)站應用程序或者服務開發(fā)——URL路由、Session、模板引擎、靜態(tài)Web資源等等。
Spring Boot的功能
Spring Boot實現(xiàn)了自動配置,降低了項目搭建的復雜度。
眾所周知Spring框架需要進行大量的配置,Spring Boot引入自動配置的概念,讓項目設置變得很容易。Spring Boot本身并不提供Spring框架的核心特性以及擴展功能,只是用于快速、敏捷地開發(fā)新一代基于Spring框架的應用程序。
也就是說,它并不是用來替代Spring的解決方案,而是和Spring框架緊密結合用于提升Spring開發(fā)者體驗的工具。同時它集成了大量常用的第三方庫配置(例如Jackson, JDBC, Mongo, Redis, Mail等等),Spring Boot應用中這些第三方庫幾乎可以零配置的開箱即用(out-of-the-box),大部分的Spring Boot應用都只需要非常少量的配置代碼,開發(fā)者能夠更加專注于業(yè)務邏輯。
Spring Boot只是承載者,輔助你簡化項目搭建過程的。如果承載的是WEB項目,使用Spring MVC作為MVC框架,那么工作流程和你上面描述的是完全一樣的,因為這部分工作是Spring MVC做的而不是Spring Boot。
對使用者來說,換用Spring Boot以后,項目初始化方法變了,配置文件變了,另外就是不需要單獨安裝Tomcat這類容器服務器了,maven打出jar包直接跑起來就是個網(wǎng)站,但你最核心的業(yè)務邏輯實現(xiàn)與業(yè)務流程實現(xiàn)沒有任何變化。
所以,用最簡練的語言概括就是:
- Spring 是一個“引擎”;
- Spring MVC 是基于Spring的一個 MVC 框架 ;
- Spring Boot 是基于Spring4的條件注冊的一套快速開發(fā)整合包。
-
MVC
+關注
關注
0文章
73瀏覽量
13831 -
Boot
+關注
關注
0文章
149瀏覽量
35751 -
spring框架
+關注
關注
0文章
7瀏覽量
2042 -
SpringBoot
+關注
關注
0文章
173瀏覽量
161
發(fā)布評論請先 登錄
相關推薦
評論