java ee domain作用_java EE应用概述
1.javaEE應用的分層模型
不管是經典的Java EE架構,還是輕量級的Java EE架構,大致上都可以分為以下幾層:
Damain Object(領域對象)層:該層是由系列的POJO(普通的,傳統的,Java對象)組成,這些對象是該系統的Domain Object,往往包含了各自需要實現的業務邏輯方法。
Dao(Data Access Object,數據訪問對象)層:此層是由系列的DAO組件組成,這些Dao實現了對數據庫的創建,查詢,更新和刪除(CRUD,增刪改查)等原子操作。
業務邏輯層:此層是有一系列的業務邏輯對象組成,這些業務邏輯對象實現了系統所需要的業務邏輯方法,這些業務邏輯方法可能僅僅用于暴露Domain Object對象所實現的業務邏輯方法,也可能是依賴Dao組件實現的業務邏輯方法。
控制器層:此層由系列控制器組成,這些控制器用于攔截用戶的請求,并調用業務邏輯組健的業務邏輯方法,處理用戶的請求,并根據處理結果轉發到不同的表現層組件。
表現層:此層是由系列的jsp等頁面組成,用于獲取用戶的請求,并負責將處理結果顯示出來。
各層Java EE組件之間是以松耦合的方法耦合在一起,各組件并不以硬編碼的方法耦合,這種方法是為了應用以后的擴展性。從上到下,上面的組件依賴下面的組件的功能,從下到上,下面的組件支持上面組健的實現。
2.Java EE應用的組件
總體而言,Java EE應用大致包括如下幾類組件:
表現層組件:主要是負責用戶的輸入數據,或者向客戶端顯示系統狀態,最常用的表現層技術是JSP,但是JSP并不是唯一的表現層技術。
控制器組件:對于Java EE的MVC框架來說,框架提供一個前端核心控制器,而核心控制器用來負責攔截用戶的請求,并將請求轉發給用戶實現的控制器組件,而這些用戶實現的控制器組件則負責處理調用業務邏輯方法,處理用戶請求。
業務邏輯組件:是系統的核心組件,實現系統的業務邏輯,通常,一個業務邏輯方法對應一此用戶操作,一個業務邏輯方法應該是一個整體的,應此,要求,業務邏輯方法增加事務性,業務邏輯方法只負責實現業務邏輯,不應該進行數據庫的訪問。
Dao組件:也稱為數據庫訪問對象,這個類型的對象比較缺少變化,每個Dao組件都提供Domain Object的創建,查詢,更新,刪除等操作。這些操作對應數據庫中的CRUD等原子操作。當然,如果采用不同的持久層訪問技術,Dao組件實現也不同。為了實現業務邏輯層和Dao層的分離,每個Dao組件都提供了接口,業務邏輯組件面向Dao接口編程,從而提供了更好的解耦。
領域對象組件:領域對象抽象了系統的對象模型,通常而言,這些領域對象的狀態都是保存再數據庫中,因此,每個領域對象通常對應一個后多個數據表。
使業務邏輯和Dao操作分開的原因是因為保證業務邏輯方法的實現,與具體的持久層訪問技術分離,當系統需要在不同的持久層技術之間切換時,系統的業務邏輯組件無需任何改變。
持久層:
所謂持久,就是把數據保存到可以永久保持的存儲設備當中。一般來說,持久更為直接的理解就是對數據庫的各種操作,如CRUD(增加,刪除,修改,查詢),更新等操作,
持久層,就是把持久的動作封裝成一個獨立的層,這是為了降低功能代碼之間的關聯。創建一個更清晰的抽象,提高代碼的內聚力,降低代碼的耦合度,從而增強代碼的要勞動局生和可重用性。
實現持久層的框架有: JDBC, Hibernate,Mybatis,JPA等技術。
3.常用的Java EE服務器
采用Struts+Spring+Hibermate這種架構的軟件系統,無需專業的Java EE服務器支持,只需要簡單的Web服務器就可,Java中常見的Web服務器都是開源的,而且具有很好的穩定性。
常見的Web服務器:
Tomcat:此服務器和Java結合的最好,時Sun官方推薦的JSP服務器。
Jetty:另一個優秀的服務器
Resin:目前最快的JSP,Servlet運行平臺,支持EJB個人學習是免費的,但是商用的話是需要交納相應的費用。
除了常用的Web服務器之外,還有許多的Java EE服務器,相對于Web服務器,Java EE服務器支持更多的Java EE特性,如分布式事務,EJB容器等,常用的Java EE服務器有:
JBoss:開源的Java EE服務器。
web Logic和WebSphere:專業的商用的JavaEE服務器,價格不菲。
對于輕量級的Java EE而言,沒有必要使用Java EE服務器,簡單的Web服務器即可。
總結
以上是生活随笔為你收集整理的java ee domain作用_java EE应用概述的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java netfox_SpringFo
- 下一篇: mysql使用从c3p0_使用c3p0連