javaee能做什么 什么是數(shù)據(jù)持久層?
什么是數(shù)據(jù)持久層?標(biāo)準(zhǔn)JavaEE開發(fā)基于三層架構(gòu),即表示層、業(yè)務(wù)層、持久層(我習(xí)慣使用數(shù)據(jù)訪問層)。持久層框架是操作數(shù)據(jù)庫的框架。通常,編寫操作數(shù)據(jù)庫的代碼是使用JDBC直接訪問。持久層框架封裝了J
什么是數(shù)據(jù)持久層?
標(biāo)準(zhǔn)JavaEE開發(fā)基于三層架構(gòu),即表示層、業(yè)務(wù)層、持久層(我習(xí)慣使用數(shù)據(jù)訪問層)。持久層框架是操作數(shù)據(jù)庫的框架。通常,編寫操作數(shù)據(jù)庫的代碼是使用JDBC直接訪問。持久層框架封裝了JDBC代碼,這使得Java程序員更容易編寫。
除了mybatis,持久層框架中還有hibernate和EJB。目前,mybatis和Hibernate在項目開發(fā)中得到了廣泛的應(yīng)用
struts 2和spring mvcstructs在表示層框架中使用較少,struts 2取代了struts
spring在業(yè)務(wù)層框架中使用較多
目前,struts 2在spring Hibernate開發(fā)中使用較多(即,SSH)
另一個是spring MVC mybatis spring,它也被廣泛使用
現(xiàn)在很多公司的開發(fā)人員都應(yīng)該采用MVC架構(gòu)。
MVC是所謂的模型、視圖、控制器。
每一層都有明確的分工。
對于簡單的項目,不管nignx如何,網(wǎng)關(guān)通常都會將請求從前端發(fā)送到后端,首先發(fā)送到控制器,然后發(fā)送到服務(wù)層,然后發(fā)送到Dao層。
這里的服務(wù)層就是所謂的業(yè)務(wù)層,專門負(fù)責(zé)業(yè)務(wù)處理操作,而Dao層則負(fù)責(zé)處理數(shù)據(jù)庫,將數(shù)據(jù)庫中的數(shù)據(jù)帶回服務(wù),經(jīng)過服務(wù)處理后返回控制器層??刂破魍ㄟ^視圖解析器解析頁面,并通過瀏覽器呈現(xiàn)頁面。
基本上,我認(rèn)為答案是顯而易見的。也就是說,Java業(yè)務(wù)邏輯是在服務(wù)層編寫的。
事實上,服務(wù)層涉及接口和接口實現(xiàn)。
在編寫代碼時,我們通常為控制器定義一個調(diào)用接口。
實際上,服務(wù)接口的實現(xiàn)類應(yīng)該是編寫業(yè)務(wù)邏輯的地方。
當(dāng)然,許多公司可能有多個服務(wù)層,例如,有一個管理層繼續(xù)對數(shù)據(jù)進(jìn)行特殊的業(yè)務(wù)處理。這里只是一個簡單的概述。
每個公司的每個項目根據(jù)其自身業(yè)務(wù)可能有不同的體系結(jié)構(gòu)。但本質(zhì)是一樣的。
綜上所述,業(yè)務(wù)邏輯必須作為一個獨立的層來處理,這樣便于擴(kuò)展和維護(hù)。記住不要在控制器中編寫所有業(yè)務(wù)邏輯。
每一層都有自己的分工,是捏合在一起的。代碼不僅冗長,而且雜亂無章。
好吧,我希望我的回答能幫助你
!如果你有興趣,可以關(guān)注一下,一起學(xué)習(xí)交流!