在SpringBoot出現(xiàn)之前,常說的三大框架是 Spring、SpringMVC、Mybatis(SSM),而在SpringBoot出現(xiàn)之后,SpringBoot慢慢開始占據(jù)了主流地位,另外在SSM之前還有一個業(yè)內流行的SSH框架。
接下來小編就給大家具體聊聊這些框架,在這篇文章中,小編會涉及到如下幾個問題:
1.什么是SSH?
Struts、Spring和Hibernate ,簡稱SSH。
在10多年前,SSH絕對是業(yè)內最流行的企業(yè)級開發(fā)框架。
SSH框架是以Struts框架進行MVC分離、控制業(yè)務跳轉,同時使用Hibernate進行持久化,最后配合Spring的統(tǒng)一管理進行實現(xiàn)的開發(fā)框架。相對于傳統(tǒng)的J2EE開發(fā)框架來講性能相對較高、資源消耗相對較少。具體優(yōu)勢如下:
框架進行了代碼分層,將Java代碼和HTML代碼進行分層,大大降低了開發(fā)人員的技術難度,不需要同時精通Java后端知識和Web前端知識。由于使用了Struts框架進行了MVC分離,降低了各層代碼間的耦合度。與Spring的AOP機制相互獨立,互不影響。使用SSH框架開發(fā)項目,能夠大大提高項目的開發(fā)效率與開發(fā)質量。良好的擴展性和維護性。
2. 什么是SSM?
SSM框架是Spring+SpringMVC+MyBatis三個框架整合而成的,其實SpringMVC屬于Spring框架,所以SSM框架其實就是Spring和Mybatis兩個框架的整合運用。那SSM框架的優(yōu)勢又有哪一些呢?
對于MVC模式的實現(xiàn),SpringMvc更加的輕量。由于SpringMvc本身屬于Spring,因此與Spring的配合使用契合度更高。Mybatis相對Hibernate更加輕量,同時將Sql和業(yè)務代碼進行了很好的解耦。MyBatis的學習門檻更低,相對于傳統(tǒng)的JDBC差距不大,更好入門及掌握。
3. SSH框架和SSM框架的區(qū)別
兩個框架的主要區(qū)別在于兩點。第一,MVC分離的實現(xiàn)方式中前者為Struts,后者為SpringMVC;第二,持久層的框架前者為Hibernate,后者為MyBatis,所以這兩個框架幾乎所有的不同都是由這兩點產(chǎn)生的。
4. Struts對比SpringMVC
由于SpringMVC針對方法進行設計,而Struts針對類進行設計,相對來講SpringMVC的速度相對更快。SpringMVC配置更加簡單,可以說完全0配置,開發(fā)效率更高。SpringMVC的學習門檻更低,使用更簡單。SpringMVC擴展性更強,更靈活。
5. Hibernate對比MyBatis
MyBatis更加輕量,學習門檻更低,但相對功能全面性來講Hibernate更好。如果你的項目中僅僅使用簡單的增刪改查功能,選用Hibernate會讓你節(jié)省不少的開發(fā)時間。反之如果需要使用到較多的sql復雜語句,則選用MyBatis更加靈活。MyBatis默認的SQL查詢性能更高,而Hibernate會進行所有字段查詢,性能就相對較低了。Hibernate有自己的日志統(tǒng)計功能,而MyBatis需要使用Log4j實現(xiàn)。MyBatis緩存特性相對Hibernate更高。