天天看點

JavaBean & MVC & 三層架構【JAVAEE基礎】

- JavaBean(Java類)

定義:(滿足以下兩點)

1.public修飾的類,含有public無參構造函數

2.所有屬性都是private,并提供set/get。

作用:

1.減輕jsp的複雜度

2.提高代碼的複用度

使用層面分為兩大類:

1.封裝業務邏輯的JavaBean(登入邏輯 LoginDao.java 等) 可以将jsp中的JDBC代碼,封裝起來。

2.封裝資料的JavaBean(實體類,Student.java Person.java) 對應于資料庫中的一張表。

- BeanUtils 工具類,簡化資料封裝

  • 用于封裝JavaBean的
  • 屬性的概念 setter和getter方法截取之後的産物

    例如:getUsername()—>Username->username

  • 方法:

    1.setProperty(Object,屬性名,value)

    2.getProperty(Object,屬性名)

    3.populate(Object,Map) 将map集合的鍵值對資訊,封裝到對應的JavaBean對象中

- 通過MVC設計模式了解JavaBean

M: Model 模型 (負責各個功能) javaBean

V: View 視圖 (負責頁面的顯示,以及與使用者的互動) html/css/js/jsp

C: Controller 控制器 (接受請求,将請求跳轉到模型進行處理,模型處理完畢後,再将處理的結果傳回給請求處) Servlet/jsp

JavaBean & MVC & 三層架構【JAVAEE基礎】

- 三層架構

JavaBean & MVC & 三層架構【JAVAEE基礎】

與MVC設計模式的目标一緻:都是為了解耦合、提高代碼複用;

差別,二者對項目的了解的角度不同。

1.三層組成:

表示層(USL):視圖層

  • 前台:對應于MVC中的View,用于和使用者互動、界面的顯示(html/css/js/jsp)
  • 背景:對應于MVC中的Controller,用于控制跳轉、調用業務邏輯層(Servlet/SpringMVC/Struts2 位于servlet包)
  • 業務邏輯層(BLL):service層
  • 組裝資料通路層,邏輯性的操作(增删改查 位于service包) eg:删:查+删
  • 資料通路層(DAL):dao層
  • 直接通路資料庫的操作,原子性的操作(增删改查 位于dao包)

2.三層間的關系:

  • 上層将請求傳遞給下層,下層處理後傳回給上層。
  • 上層依賴于下層(上層持有下層成員變量,有上層的前提必須有下層)

3.三層優化

  • 加入接口

    建議面向接口開發:先接口-再實作類

  • service、dao加入接口
  • 接口與實作類的 命名規範

    接口:interface IXxxService、IXxxDao

    實作類:implements XxxServiceImpl、 XxxDaoImpl

    使用接口/實作類時。推薦寫法

    接口 x=new 實作類();

    • DBUtil 通用的資料庫幫助類,可以簡化Dao層的代碼量
    • BeanUtils