關於SSM與Spring boot有何區別?
spring boot是什麼?有什麼作用?什麼場景下使用?
SSM是什麼?有什麼作用?什麼場景下使用?
兩個相比較,各自的優缺點
什麼是Spring Boot?
從本質上來說,Spring Boot就是Spring,它做了那些沒有它你也會去做的Spring Bean配置。
SpringBoot的作用?
它使用“習慣優於配置”(專案中存在大量的配置,此外還內建了一個習慣性的配置,讓你無需手動進行配置)的理念讓你的專案快速執行起來。使 用SpringBoot很容易建立一個獨立執行(執行jar,內嵌Servlet容器)、準生產級別的基於Spring框架的專案,使用Spring Boot你可以不用或者只需要很少的Spring配置。
SpringBoot的優點?
Spring由於其繁瑣的配置,一度被人認為“配置地獄”,各種XML、Annotation配置,讓人眼花繚亂,而且如果出錯了也很難找出原因。
SpringBoot幫助開發者快速啟動一個Web容器;
SpringBoot繼承了原有Spring框架的優秀基因;
SpringBoot簡化了使用Spring的過程。
SpringBoot的缺點?
Spring Boot作為一個微框架,離微服務的實現還是有距離的。沒有提供相應的服務發現和註冊的配套功能,自身的acturator所提供的監控功能,也需要與現有的監控對接。沒有配套的安全管控方案,對於REST的落地,還需要自行結合實際進行URI的規範化工作。
什麼是SSM?
SSM(Spring+SpringMVC+MyBatis)框架集由Spring、SpringMVC、MyBatis三個開源框架整合而成,常作為資料來源較簡單的web專案的框架。
其中spring是一個輕量級的控制反轉(IoC)和麵向切面(AOP)的容器框架。
SpringMVC分離了控制器、模型物件、分派器以及處理程式物件的角色,這種分離讓它們更容易進行定製。
MyBatis是一個支援普通SQL查詢,儲存過程和高階對映的優秀持久層框架。
SSM有什麼用?
SpringMVC:
1.客戶端傳送請求到DispacherServlet(分發器)
2.由DispacherServlet控制器查詢HanderMapping,找到處理請求的Controller
3.Controller呼叫業務邏輯處理後,返回ModelAndView
4.DispacherSerclet查詢檢視解析器,找到ModelAndView指定的檢視
5.檢視負責將結果顯示到客戶端
Spring:我們平時開發接觸最多的估計就是IOC容器,它可以裝載bean(也就是我們Java中的類,當然也包括service dao裡面的),有了這個機制,我們就不用在每次使用這個類的時候為它初始化,很少看到關鍵字new。另外spring的aop,事務管理等等都是我們經常用到的。
Mybatis:mybatis是對jdbc的封裝,它讓資料庫底層操作變的透明。mybatis的操作都是圍繞一個sqlSessionFactory例項展開的。mybatis通過配置檔案關聯到各實體類的Mapper檔案,Mapper檔案中配置了每個類對資料庫所需進行的sql語句對映。在每次與資料庫互動時,通過sqlSessionFactory拿到一個sqlSession,再執行sql命令。
SSM的優缺點?
SSM優缺點應該分開來說的,比如
1)spring 不說了,核心ioc、aop技術,ioc解耦,使得程式碼複用,可維護性大幅度提升,aop提供切面程式設計,同樣的增強了生產力。
2)spring mvc嘛,是對比struts2等mvc框架來說的,不說struts2爆出的那麼多安全漏洞,而且是類攔截,所有Action變數共享,同時是filter入口的,而spring mvc是方法攔截,controller獨享request response資料,採用的serlvet入口,與spring無縫對接。開發而言,spring mvc更加輕量和低入門。
3)mybatis嘛,看業務場景,主要是mybatis的sql可以由開發者去掌控和調優,相對hibernate等orm框架來說,更加直觀。在業務場景比較複雜,sql好多聯合關聯的情況下,mybatis誰用誰知道。當然缺點就是對sql不熟悉的開發者就不太友好了。
二者相比較優缺點?
SSM框架和spring boot全家桶相比有哪些優缺點?這兩者對比起來有點奇怪。因為SSM是WEB應用框架,涵蓋整個應用層,而spring boot你可以看做一個啟動、配置、快速開發的輔助框架,本身針對的是微服務。
springboot 只是為了提高開發效率,是為了提升生產力的:
1、springboot一個應用是一個可執行jar(啟動類main方法啟動web應用),而不像傳統的war,內嵌tomcat容器,可以jar形式啟動一個服務,可以快速部署釋出web服務,微服務最好不過了。
2、將原有的xml配置,簡化為java配置
3、當然結構可能跟一般的ssm有一定區別,但其實主要是在資原始檔。
說到這裡,也給大家推薦一個架構交流學習群:828545509,裡面會分享一些資深架構師錄製的視訊錄影:有Spring,MyBatis,Netty原始碼分析
,高併發、高效能、分散式、微服務架構的原理,JVM效能優化這些成為架構師必備的知識體系。還能領取免費的學習資源,相信對於已經工作
和遇到技術瓶頸的碼友,在這個群裡會有你需要的內容。
點選連結加入群聊【Java高階架構師學習群】:https://jq.qq.com/?_wv=1027&k=5T2kMGl