spring boot就是一個大框架里面包含了許許多多的東西,其中spring就是最核心的內容之一,當然就包含spring mvc。
spring mvc 是只是spring 處理web層請求的一個模塊。
因此他們的關系大概就是這樣:
spring mvc < spring <springboot。
spring boot 我理解就是把 spring spring mvc spring data jpa 等等的一些常用的常用的基礎框架組合起來,提供默認的配置,然后提供可插拔的設計,就是各種 starter ,來方便開發者使用這一系列的技術,套用官方的一句話, spring 家族發展到今天,已經很龐大了,作為一個開發者,如果想要使用 spring 家族一系列的技術,需要一個一個的搞配置,然后還有個版本兼容性問題,其實挺麻煩的,偶爾也會有小坑出現,其實蠻影響開發進度, spring boot 就是來解決這個問題,提供了一個解決方案吧,可以先不關心如何配置,可以快速的啟動開發,進行業務邏輯編寫,各種需要的技術,加入 starter 就配置好了,直接使用,可以說追求開箱即用的效果吧.
spring 框架有超多的延伸產品例如 boot security jpa etc... 但它的基礎就是 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 。