java三大框架介紹
常聽人提起三大框架,關於三大框架,做了如下了解:
三大框架:Struts+Hibernate+Spring
java三大框架主要用來做WEN應用。
Struts主要負責表示層的顯示,Spring利用它的IOC和AOP來處理控制業務(負責對資料庫的操作),Hibernate主要是資料持久化到資料庫,再用jsp的servlet做網頁開發的時候有個web.xml的對映檔案,裡面有一個mapping的標籤就是用來做檔案對映的。當你在瀏覽器上輸入URL得知的時候,檔案就會根據你寫的名稱對應到一個JAVA檔案,根據java檔案裡編寫的內容顯示在瀏覽器上,就是一個網頁。
struts是開源軟體。使用Struts的目的是為了幫助我們減少在運用MVC設計模型來開發Web應用的時間。如果我們想混合使用Servlets和JSP的優點來建立可擴充套件的應用,struts是一個不錯的選擇。
1.流程:伺服器啟動後,根據web.xml載入ActionServlet讀取struts-config.xml檔案內容到記憶體。
2.架構:Struts對Model,View和Controller都提供了對應的元件。ActionServlet,這個類是Struts的核心控制器,負責攔截來自使用者的請求。
Model部分:由JavaBean組成,ActionForm用於封裝使用者的請求引數,封裝成ActionForm物件,該物件被ActionServlet轉發給Action,Action根據ActionFrom裡面的請求引數處理使用者的請求。JavaBean則封裝了底層的業務邏輯,包括資料庫訪問等。
View部分:該部分採用JSP實現。Struts提供了豐富的標籤庫,通過標籤庫可以減少指令碼的使用,自定義的標籤庫可以實現與Model的有效互動,並增加了現實功能。
Controller元件:Controller元件有兩個部分組成——系統核心控制器,業務邏輯控制器。系統核心控制器,對應上圖的ActionServlet。該控制器由Struts框架提供,繼承HttpServlet類,因此可以配置成標註的Servlet。該控制器負責攔截所有的HTTP請求,然後根據使用者請求決定是否要轉給業務邏輯控制器。業務邏輯控制器,負責處理使用者請求,本身不具備處理能力,而是呼叫Model來完成處理。對應Action部分。
二.Spring框架:
Spring是一個解決了許多在J2EE開發中常見的的問題的強大框架。Springle提供了管理業務物件的一致方法並且鼓勵了注入對介面程式設計而不是對類變成的好習慣。Spring的架構基礎是基於使用JavaBean屬性的Inversion of Control 容器。然而Spring在使用IoC容器作為構建玩關注所有架構層層的完整解決方案方面是獨一無二的。Spring提供了唯一的資料管理抽象包括簡單和有效率的JDBC框架,極大的改進了效率並且減少了可能的錯誤。Spring的資料訪問架構還集成了Hibernate和其他O/R mapping 解決方案。
三.Hibernate框架:
Hibernate 是一個開原始碼的物件關係對映框架,對JDBC驚醒了費城輕量級的的物件封裝,使得Java程式設計師可以隨心所欲的使用物件變成思維來操作資料庫。
Hebernate可以應用在任何使用JDBC的場合,既可以在java的客戶端程式使用,也可以在Servlet/JSP的Web應用中使用最具革命意義的事,Hibernate可以在應用EJB的J2EE架構中取代CMP,完成資料持久化的重任。
Hibernate的核心介面一共有5個,分別為:Session、SessionFactory、Transaction、Query和Configuration。這5個核心介面在任何開發中都會用到。通過這些介面,不僅可以對持久化物件進行存取,還能夠進行事務控制。下面對這五個核心介面分別加以介紹。
1.Session介面:負責執行被持久化物件的CRUD操作(CRUD的任務是完成與資料庫的交流,包含了很多常見的SQL語句。)。但需要注意的是Session物件是非執行緒安全的。同時,Hibernate的session不同於JSP應用中的HttpSession。這裡當使用session這個術語時,其實指的是Hibernate中的session,而以後會將HttpSession物件稱為使用者session。
2.SessionFactory介面:負責初始化Hibernate。它充當資料儲存源的代理,並負責建立Session物件。這裡用到了工廠模式。需要注意的是SessionFactory並不是輕量級的,因為一般情況下,一個專案通常只需要一個SessionFactory就夠,當需要操作多個數據庫時,可以為每個資料庫指定一個SessionFactory。
3.Configuration介面:負責配置並啟動Hibernate,建立SessionFactory物件。在Hibernate的啟動的過程中,Configuration類的例項首先定位對映文件位置、讀取配置,然後建立SessionFactory物件。
4.Transaction介面:負責事務相關的操作。它是可選的,開發人員也可以設計編寫自己的底層事務處理程式碼。
5.Query和Criteria介面:負責執行各種資料庫查詢。它可以使用HQL語言或SQL語句兩種表達方式。