SSH三大框架的整合的個人理解
SSH框架在我的眼裡就是一種對MVC模式的一種直觀的體現模式
先說說我個人對SSH框架的各個看法與見解
1,Struts2框架(view層)
這個框架包含了三個要注意的點(除了導包要匯入的準確,刪掉與Hibernate中重複的包以外),下面三個地方的配置,非常關鍵,第一個是在web.xml中的配置要寫清楚,這個用的myeclipse 的人都不用擔心,已經幫我們都配置好了,然後是Struts裡面的邏輯跳轉要配置好,一般在同一個action中是不需要新增名稱空間的,而且action 的scope屬性必須是多例的(以防萬一,還是寫好比較的好),其次是*action的類中的呼叫關係,一般在action中是可以直接封裝一個數據,並且這個資料是從頁面上傳過來的,封裝好的資料會被自動的取到,所以action中還要新增相應的set/get方法
2,Hibernate框架(model層)
這個框架是一個相當重量級的框架,對於大型的企業型的專案依然在用,在我看來它有兩點值得一提的地方
第一個是它可以通過對映直接生成相應的pojo類(還可以生成抽象類,還有每個pojo類都可以生成相應的hibernate.cfg.xml檔案,裡面可以進行配置每個表的欄位屬性,和序列,主鍵等等)。
第二個是可以在使用他的專屬的hql語句,CRUD操作會變得相當的簡單方便,只是在最底層的dao層需要進行專業的七步殺(這個不做過多解釋,而且現在用的很少)。
我想額外提的一點就是spring框架的引入,使得產生了一個新的產物,那就是hibernateTemplate,這個類是spring框架裡面已經封裝好的,可以直接在最底層的DAO層中申明這個物件以後,進行呼叫,十分的方便,省去了七步殺中的大量的程式碼空間。
3,Spring框架(control層)
這個框架是最強大的web框架,它的存在顛覆了整個WEB開發的規範,並且以它的存在又構建了比SSH輕量級無數倍的SSM框架(spring,springmvc,mybatis).
spring的兩個最主要的特徵就是AOP,IOC,俗稱面向切面和控制反轉
面向切面AOP,就是在不改動一個方法的基礎上,對這個方法進行增強,其中使用Spring的配置檔案的形式對一個具體的方法進行兩個方面的配置(第一,配置切入點。第二,配置切面),切入點很好理解,即對哪個方法進行增強,設定一個ID和一個路徑類方法,切面就是增強的方式,是前後左右還是迴圈之類的。
控制反轉IOC,就是把本來由我們操作人員new出來物件(entity)的權利交給了Spring去完成
依賴注入DI,把我們所有的功能類(dao,service,action)也放入String中進行管理,而在這些模組中相互引用的時候,就可以通過Spring注入到其中,就可以互相長生難以分割的聯絡了,降低了專案的耦合度。