本人使用過SSH框架一段時間,最后在優化項目的時候決定使用SSM框架,這兩種框架的一些淺顯的區別我在這里說下。
SSH框架是Struts+Spring+Hibernate而SSM是指的Spring-MVC+Spring+MyBatis,光從這兩個縮寫就可以看出來,如果比較兩者的區別的話主要比較Struct和Spring-MVC以及Hibernate和MyBatis。
SpringMVC 對比 Struts
Struts和Spring-MVC都是負責取轉發的,但是兩者針對request的請求上面區別很大,Struts是針對一個Action類來進行請求的,即一個Action類對應于一個請求,所以類攔截,請求的數據類共享。
而Spring-MVC則是針對于方法級別的請求的,也就是一個方法對應于一個請求,屬于方法攔截,請求的數據方法不共享。Spring-MVC的配置文件相對來說較為少,容易上手,可以加快軟件開發的速度,親身體驗有效。
Spring-MVC的入口是Servlet級別的而 Struts 的級別是Filter級別的。
Hibernate 對比 MyBatis
針對Hibernate和 MyBatis 對持久化類進行操作,他們之間的區別可以整理如下:
- [Hibernate是一種O/R關系型,即完成數據庫表和持久化類之間的映射,而MyBatiss是針對的SQL-Maping,個人理解是一種Hibernate把數據庫給封裝好以后,可以調用相應的數據庫操作語句HQL,而MyBatis則是用的原始的數據庫操作語句。
- 基于1中的原因,則Hibernate優化起來相對MyBatis較難。
- MyBatis入門較快,而Hibernate掌握起來相對較難。
- 針對高級查詢,Mybatis需要手動編寫SQL語句,以及ResultMap。而Hibernate有良好的映射機制,開發者無需關心SQL的生成與結果映射,可以更專注于業務流程。
- Hibernate數據庫移植性很好,MyBatis的數據庫移植性不好,不同的數據庫需要寫不同SQL。
小結
總結:SSH個人雖然感覺很笨重,但是對于理解MVC模型乃至IOC來說還是不錯的,蠻適合練手的,但是SSM則是使用起來讓人感覺飛快,無論面向OOP還是面向AOP編程,都給人一種通透的快感。
-
ssm
+關注
關注
0文章
21瀏覽量
11385 -
spring
+關注
關注
0文章
340瀏覽量
14343 -
MVC
+關注
關注
0文章
73瀏覽量
13857 -
SSH
+關注
關注
0文章
189瀏覽量
16336
發布評論請先 登錄
相關推薦
評論