[草稿]小白學習Struts、Spring、Hibernate

申明

1.這是草稿,關於近期所看資料的一個記錄,之後慢慢整理成一片博文。html

2.我是web開發小白,沒接觸過web開發,因此這是一篇小白的學習記錄。java

問題

  1. Spring MVC和Struts2MVC到底學習哪一個?仍是都須要學習呢?
  2. 直接拋棄SSH,學習國產的Nutz呢?
  3. 若是學習Spring 4.0 MVC,是先學習Spring 3.0的教程,仍是本身去閱讀Spring 4.0的Tutorial呢?

記錄

1. Struts

Struts是一個幵源項目,它實現了經典的Model-View-Controller (MVC)設計模式,用於開發Java企業Web應用。它最初由Craig McClanahan創立於2000年5月份並由Apache基金會贊助,以前隸屬於Apache Jakarta項目下,稱爲JakartaStruts,在2005年成爲Apache頂級項目。程序員

Struts的設計目標是把模型(用於業務邏輯和數據庫之間交互的數據載體)與視圖(呈現給客戶端的HTML頁面)和控制器(在模型和視圖之間傳遞信息的實例)分離開來。web

Stmts提供了控制器(一個名爲ActionServlet的服務程序)並使得爲視圖或表現層編寫模板更加容易。Web應用開發人員須要編寫模型代碼,並在全局配置文件stmts-config.xml中配置好模型、視圖和控制器之間的關係。圖1-1展現了 Struts2的MVC架構。

圖1-1正則表達式

2. Hibernate

Hibernate 是一個解決 Object-Relation Mapping (ORM,對象關係映射)的 Java語言庫。它提供了一個在面向對象的領域模型與關係型數據庫之間映射的框架。它經過容許開發人員使用高級對象處理函數而不是直接數據庫訪問的方法存取數據來解決對象關係阻抗不匹配的問題。
它將對象模型表示的數據映射到SQL表示的關係模型上去。Hibernate管理java到數據庫的映射,提供給了數據查詢和存取的方法,減小了程序員對數據持久化層相關的編程任務。圖1-2展現了 Hibernate的架構。

圖1-2spring

ORM對象關係映射

什麼是持久化?是把數據保存到數據庫或者某些存儲設備中。在三層架構中,持久化是和數據庫打交道的層次。在jsp的web開發中,常常有許多數據庫鏈接、刪除、查詢等操做,在數據庫相關工做中經過jdbc過於繁瑣,就催生出了ORM(Object-RelationMapping),ORM做用是在關係數據庫和對象之間作一個自動映射,這樣在操做數據庫時不須要使用複雜的sql語句,只要操做對象便可,ORM工具會自動將對象轉換爲sql語句操做。這樣就只須要關注業務邏輯中的對象結構,而不用關心底層複雜的sql和jdbc代碼。而Hibernate框架是ORM工具的一種,是關係/對象映射的解決方案(如圖1-3)。

圖1-3sql

優勢

Hibernate持久層與數據庫打交道的橋樑,完全封裝了JDBC,隱藏了更多的細節,有很好的移植性。JDBC語句繁瑣,賦值執行咱們不用再寫相關代碼,提升了效率,同時hibernate是一個輕量級框架(不依賴於別的運行),沒有侵入性,測試簡單,提升了生產力。數據庫

缺點

封裝的太完全致使不靈活,是用數據特定的東西比較不容易。對大量數據庫的更新有問題,當程序大量查詢統計,或批量更新沒法使用數據庫特性機制,例如存儲過程等。編程

3. Spring

Spring是一個Java平臺的開源應用程序框架,以其控制反轉聞名。2002年10 月 Rod Johnson 在出版 Expert One-on-One Java EE Design and Development(ISBN 0-7645-4385-7) 一書同時發佈了 Spring 的初版。
Spring的核心是其控制反轉容器,它根據開發人員在XML中配置類之間的依賴關係經過使用Java的反射機制來實現對這些對象生命週期的管理。當一個對象須要另外一個類的實例時,Spring會建立它,調用其初始化函數,再把它注入到發起請求的對象中去。設計模式

Spring還提供本身的面向切面編程(Aspect-Oriented Programming, AOP)的框架,它把切面中的橫切關注點模塊化,同時也充分利用Spring的容器。Spring還提供數據庫事務管理,配合AOP,開發人員能夠在Spring的配置文件裏指明切入點(能夠利用正則表達式來建立匹配規則),Spring就會幫助開發人員把數據庫事務管理代碼插入剛纔配置的切入點,從而下降了代碼的稱合,讓開發人員將主要精力放在業務邏輯上。
Spring是一個全功能棧(foil-stack)的應用程序框架,包括上述的三個主要功能,Spring 一共由7個模塊組成,它們構建在Spring的核心容器之上。圖1-4展現了 Spring的架構。使用Spring的IOC和AOP能夠使項目的邏輯清晰、稱合度低,易於完成、易於修改、易於移植。

圖1-4

如今Spring 4.0出來了,而且還附帶推出一個可以提升開發者效率的項目,該項目就是Spring Boot,內嵌了Tomcat。
我按照官網的指南,Building a RESTful Web Service搭建了一個RESTful的WS,一點也沒配置,我這種小白都會玩。。。。
查詢了一下最新的Spring 4.0框架圖,如圖1.5所示:

圖1-5

參考文獻: 1. 湯承剛. 「Things-Cloud-People」: 一個 「Web of Things」 實現方案[D].華東師範大學,2012年.

相關文章
相關標籤/搜索