【Spring】JavaBean、MVC软件设计模式与Java中Dao、Service、Controll三层体系
文章目錄
- 一、JavaBean
- 二、Java三層體系
- 1.Dao層
- 2.Service層
- 3.Controller層
- 三者之間的關系
- 三、MVC設計模式
- 1.模型
- 2.視圖
- 3.控制器
- 三者之間的關系
- 三層體系與MVC之間的關系
一、JavaBean
ORM編程思想(object relational mapping,對象關系映射)
① 一個數據表對應一個JavaBean
② 表中的一條記錄對應JavaBean的一個對象
③ 表中的一個字段對應JavaBean的一個屬性
(在設計實體類和數據庫表時盡量做到ORM,即屬性名和字段名對應,表名和實體類類名對應,可以方便對數據庫表的操作)
JavaBean實際就是一個普通的Java類,為了規范開發,要求JavaBean具有如下規范:
① 具有一個公共的、無參的構造方法;
② 類的屬性私有,且必須提供公共的setter和getter方法用于外部對屬性賦值和獲取屬性值;
簡而言之:JavaBean = 屬性私有 + 公共的setter/getter方法 + 空參構造器
JavaBean分為兩類:
① 實體類Bean:專門存儲業務數據的,如Student、User 等
② 業務處理Bean:指Service或 Dao對象,專門用于處理業務邏輯和數據訪問
實體類(Entity Class):就是Java中的ORM思想形成的映射,將數據庫中的一個表映射成對應的一個Java類(就是JavaBean),主要職責是存儲和管理系統內部的信息。
POJO(Plain Ordinary Java Object,普通Java對象) :實際就是普通JavaBean,是為了避免和EJB混淆所創造的簡稱。
持久化類:是指其實例需要被持久化到數據庫中的類。持久化類符合JavaBean的規范,包含私有屬性,以及與之對應的setter/getter方法。
持久化(Persistence):把數據(如內存中的對象)保存到可永久保存的存儲設備中。(如磁盤、數據庫)
持久化的主要應用是將內存中的對象存儲在數據庫中、磁盤文件或XML文件中等等。
在實際開發中,JavaBean、實體類、POJO、持久類并沒有本質的區別,但都必須滿足JavaBean的規范。在涉及Spring對Bean的管理時,稱為JavaBean;在Spring JDBC Template中需要對數據庫進行操作,稱為實體類(Entity Class);在MyBatis等持久化框架中涉及多個對象之間的關系,稱為POJO或持久化類。
之所以有不同的名稱,是因為需要處理的邏輯場合不同,類似在家里父母叫你小名,在學校老師同學叫你全名,在銀行辦理業務時工作人員叫你女士/先生,但你還是你,有姓名、性別、身份證號等屬性,這是你必須要滿足的規范。
二、Java三層體系
Dao層通過操作實體類(Entity Class),從而操作數據庫中的表,完成對應數據的CRUD操作。
1.Dao層
Dao全稱Data Access Object(數據訪問對象)主要負責訪問數據庫,對數據的CRUD,獲取結果集返回給Service,不會涉及事務。
2.Service層
Service層主要負責業務邏輯的實現,實際就是對Dao層的增刪改查操作的進一步封裝,涉及到事務的操作。
如:獲取數據庫連接,關閉數據庫連接,事務回滾或者一些復雜的邏輯業務處理
3.Controller層
Controller層主要用于對業務邏輯進行控制,控制用戶輸入,接收來自前端的請求,將需要執行的操作交給Service層進行處理,再將處理后的結果返回給前端。
三者之間的關系
幾乎所有的業務邏輯,實際上最后就是對數據庫表的操作,Dao層面向數據庫中的表,Service進行事務、業務邏輯的具體實現,Controller層對接收到的請求進行控制,然后負責調用Service層進行業務邏輯實現,Service層將邏輯處理中需要對數據庫表的操作交給Dao層進行數據操作,最后將處理結果逐層返回給前端,用戶就可以看到最后的處理結果。
三、MVC設計模式
MVC是一種軟件設計模式,將軟件程序分為3個核心模塊:模型(Model)、視圖(View)、控制器(Controller)
1.模型
模型(Model):管理數據庫,用于數據的封裝和傳輸,實現具體業務功能(事務處理、算法等)。
2.視圖
視圖(View):指html或jsp頁面,負責與用戶交互,展示數據,將用戶請求傳遞給控制器進行處理。
3.控制器
控制器(Controller):接收用戶請求,對請求進行處理和轉發,響應瀏覽器并向模型發送數據。
三者之間的關系
用戶通過瀏覽器向View發送請求,View負責與用戶交互,View將請求傳遞給Controller,Controller調用相應的Model處理請求,Controller將處理結果傳遞給View,View然后經過渲染響應給瀏覽器。
三層體系與MVC之間的關系
三層體系和MVC之間并不矛盾,三層體系是一種編程思想,目的是為了降低模塊之間的耦合,更好的處理業務邏輯;MVC是一種軟件設計模式,按照功能對軟件進行的模塊化的劃分,目的是為了更好的實現軟件開發。二者之間的關系如下:
關于MVC設計模式在Spring MVC框架中會進行詳細的說明,Spring后會說到該種框架。
總結
以上是生活随笔為你收集整理的【Spring】JavaBean、MVC软件设计模式与Java中Dao、Service、Controll三层体系的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 摄像头poe供电原理_如何区分摄像头是否
- 下一篇: macOS 10.14配置APUE环境