1. 程式人生 > >SSH和SSM兩個框架的淺顯的區別

SSH和SSM兩個框架的淺顯的區別

      1.SSH框架是Struts+Spring+Hibernate而SSM是指的Spring-MVC+Spring+MyBatis,光從這兩個縮寫就可以看出來,如果比較兩者的區別的話主要比較Struct和Spring-MVC以及Hibernate和MyBatis:

      1.Struts和Spring-MVC都是負責取轉發的,但是兩者針對request的請求上面區別很大,Strust是針對一個Action類來進行請求的,即一個Action類對應於一個請求,所以類攔截,請求的資料類共享。而Spring-MVC則是針對於方法級別的請求的,也就是一個方法對應於一個請求,屬於方法攔截,請求的資料方法不共享。

      2.Spring-MVC的配置檔案相對來說較為少,容易上手,可以加快軟體開發的速度,親身體驗有效。

      3.Spring-MVC的入口是Servlet級別的而Struct的級別是Filter級別的。

     針對Hibernate和MyBitas對持久化類進行操作,他們之間的區別可以整理如下:

      1.Hibernate是一種O/R關係型,即完成資料庫表和持久化類之間的對映,而MyBitas是針對的SQL-Maping,個人理解是一種Hibernate把資料庫給封裝好以後,可以呼叫相應的資料庫操作語句HQL,而MyBitas則是用的原始的資料庫操作語句。

      2.基於1中的原因,則Hibernate優化起來相對MyBitas較難。

      3.MyBitas入門較快,而Hibernate掌握起來相對較難。

      4.針對高階查詢,Mybatis需要手動編寫SQL語句,以及ResultMap。而Hibernate有良好的對映機制,開發者無需關心SQL的生成與結果對映,可以更專注於業務流程。

      5.Hibernate資料庫移植性很好,MyBatis的資料庫移植性不好,不同的資料庫需要寫不同SQL。

總結:SSH個人雖然感覺很笨重,但是對於理解MVC模型乃至IOC來說還是不錯的,蠻適合練手的,但是SSM則是使用起來讓人感覺飛快,無論面向OOP還是面向AOP程式設計,都給人一種通透的快感。