SSM和springboot對比


今天在開源中國上看到一篇講SSM、SpringBoot講的不錯的回答,分享!

https://www.oschina.net/question/930697_2273593

一、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有一定區別,但其實主要是在資源文件。

Spring Boot 默認“約定”從資源目錄的這些子目錄讀取靜態資源:

  • src/main/resources/META-INF/resources
  • src/main/resources/static (推薦)
  • src/main/resources/public

 

總結

“習慣優於配置”(項目中存在大量的配置,此外還內置了一個習慣性的配置,讓你無需手動進行配置)

SpringBoot幫助開發者快速啟動一個Web容器;

SpringBoot繼承了原有Spring框架的優秀基因;

SpringBoot簡化了使用Spring的過程。

拓展

談SpringBoot之前,先說一下傳統的SSM開發,使用過SSM開發的人都會發現,傳統的SSM框架項目會有大量的配置文件,需要手動的區整合三個框架,也就是SpringMVC、Spring、MyBatis,並且需要注意各種配置和兼容,后期的維護難度也很大。

現在快速開發的一個網站的方式層出不窮,像Node.js,PHP。腳本語言也越來越流行,比如Python,Scala,Ruby等,這時候Spring的開發模型就顯得相對笨重了。在這種情況下,由Pivotal團隊開發了一個工具集,叫SpringBoot。其實本質還是Spring Framework。底層代碼也還是Springmvc和Spring的整合。不過不需要手動的區配置,只需要導入相應的依賴,SpringBoot會自動配置。

SpringBoot幫我們做什么什么事情呢?
1、SpringBoot使用了特定的配置方式,開發人員不需要再定義樣板化的配置,簡化項目的初始構建。
2、SpringBoot提供了更多的組合式注解,簡化開發過程。
3、SpringBoot可以"零配置"整合很多第三方工具。
4、SpringBoot提供了內置的容器,部署也變得異常簡單。
5、SpringBoot應對監控也提供了相應的方案。

SpringBoot和SSM不沖突,SpringBoot只是簡化了配置,實際開發 沒什么區別。SSM就好像開手動擋的汽車,需要踩離合,掛檔,給油車才能開動。而SpringBoot就好像自動擋的汽車,給油就走,踩剎車就停。

在開發中的區別還是存在的,雖然SpringBoot簡化了配置,但並不代表不需要編寫配置文件,還是需要在自帶的application.yml文件中去編寫一些內容。只不過編寫的方式變得簡單了,雖然簡單了,但是和SSM整合的方式還有些區別。

在使用SSM開發的時候,多數會選擇Jsp作為視圖,但是SpringBoot不推薦使用Jsp,主推的是thymeleaf和freemarker等模板引擎,也造成了使用SSM開發到SpringBoot開發也需要一定得學習成本。不過如果掌握了SSM的話,學習SpringBoot也是水到渠成,異常的簡單。

更推薦使用SpringBoot開發,一是SpringBoot工具集的簡化配置等操作,可以讓程序員把精力主要放在代碼的業務邏輯上,二是想學習Springcloud微服務組件的話,SpringBoot是基礎。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM