今日份的學習筆記:2021.08.13
今日份的學習筆記:2021.08.13
SpringMVC學習筆記(一)
SpringMVC入門
SpringMVC概述
SpringMVC是一個基於MVC設計模式的Web層框架
M是指Model(模型),V是指View(檢視),C是指Controller(控制器),分別對應持久層、表現層、業務層
SpringMVC設計模式
MVC,全名是(Model View Controller)的縮寫,是一種軟體設計模式。具體含義:
1、Model:模型,用來處理資料,一般是一個實體類,例如User類;
2、View:檢視,用來顯示介面,可以是JSP或Html;
3、Controller:控制器,用來決定哪個介面來展示模型;(其實是業務處理器)
SpringMVC在專案中的作用
JavaEE開發規範規定,一個Java web專案應該要分為三層:
1、WEB層:頁面資料顯示、頁面跳轉排程
2、業務層:業務處理和功能邏輯、事務控制
3、持久層:資料存取和封裝、和資料庫打交道
SpringMVC分層模式概述
三層架構:持久層、業務層、表現層(Web層)
持久層
資料的持久化操作
持久層 ≈ 資料層 ≈ 資料庫
可以理解成將資料儲存在資料庫或者硬碟等可以長期儲存的裝置裡,不像放在記憶體中那樣斷電就消失了,也就是把資料存在持久化裝置上
mybatis就是持久層
業務層
業務邏輯的處理 負責表現層和持久層的資料傳遞和邏輯處理 業務層 ≈ 控制器
表示層
對資料的展示和使用者的輸入
表示層 ≈ 檢視層
流程
01 使用者看到View
02 View —( 使用者操作:點選按鈕等 )— > Controller
03 Controller —— > Model : 呼叫Model中的方法
04 Model —— > Controller : 返回資料
05 Controller—— > View : 傳資料到View,更新View
06 使用者看到更新後的View
Springboot常見註解(二)
@RequestParam
@RequestParam(value=”引數名”,required=”true/false”,defaultValue=””) value:引數名 required:是否包含該引數,預設為true,表示該請求路徑中必須包含該引數,如果不包含就報錯。 defaultValue:預設引數值,如果設定了該值,required=true將失效,自動為false,如果沒有傳該引數,就使用預設值
將請求引數繫結到你控制器的方法引數上(是springmvc中接收普通引數的註解)
@ModelAttribute
@ModelAttribute
用於將方法的引數或方法的返回值繫結到指定的模型屬性上,並返回給Web檢視
@RequiresPermissions
@RequiresPermissions("")
shiro許可權相關注解
@Validated
@Validated
@Validated是一套幫助我們繼續對傳輸的引數進行資料校驗的註解,通過配置Validation可以很輕鬆的完成對資料的約束
@Service
@Service
用於標記業務層元件
@Transactional
@Transactional
用於事務管理
@Table
@Table
宣告此物件對映到資料庫的資料表,通過它可以為實體指定表(talbe)
@Column
@Column
用來標識實體類中屬性與資料表中欄位的對應關係
@NotBlank
@NotBlank
只能作用在String上,不能為null,而且呼叫trim()後,長度必須大於0
@Size、@Length、@Max、@Min
@Size ——> (Array,Collection,Map,String)
Length(min=, max=)
@Max
@Min
@Size驗證物件長度是否在給定的範圍之內
@Length驗證字串長度是否在給定的範圍之內
@Min 驗證 Number 和 String 物件是否大等於指定的值
@Max 驗證 Number 和 String 物件是否小等於指定的值
max和min是對所填的“數字”是否大於或小於指定值,這個“數字”可以是number或者string型別。長度限制用length。
@JsonFormat
@JsonFormat
用於資料格式化
@MyBatisDao
@MyBatisDao
Java知識補充(一)
this 和 super
this
什麼是this?
this是自身的一個物件,代表物件本身,可以理解為:指向物件本身的一個指標
this的用法
01 普通的直接引用
02 形參與成員名字重名,用this來區分
03 引用建構函式
super
什麼是super?
super可以理解為是指向自己超類(父類)物件的一個指標,而這個超類指的是離自己最近的一個父類
super的用法
01 普通的直接引用
super相當於是指向當前物件的父類,通過super.XXX來引用父類的成員
02 子類中的成員變數或方法與父類中的成員變數或方法同名
03 引用建構函式
super(引數):呼叫父類中的某一個建構函式
// first sentence
this(引數):呼叫本類中另一種形式的建構函式
// first sentence