文章目錄
- 快捷引入依賴
- lombok的使用
- Lombok依賴
- Lombok使用
- Lombok注解
- 三層架構
- 分層的目的
- MVC與分層的區別
- 三層架構
- 分層的好處
- 企業命名規范
- 常見命名命名風格介紹
- 大駝峰風格
- 小駝峰風格
- 包名
- 常見注解
- Cookie與Session
快捷引入依賴
這個方法可以快捷引入依賴,但是引入依賴并不一定沒有問題,可能需要修改一些。
安裝插件EditStarter, 在pom.xml文件中,單擊右鍵,選擇Generate(或者快捷鍵Alt+Insert),點擊ok,進入EditStarters的編輯界面,添加對應依賴即可。
lombok的使用
Lombok依賴
Lombok是?個Java?具庫,通過添加注解的?式,簡化Java的開發。
使用IDEA創建項目或者通過可視化的方法引入lombok后,我的項目中出現了,編譯過程中無法找到對應創建的方法,將下面的配置代碼替換為自動添加的代碼,實現了lombok的效果。
<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.30</version><scope>provided</scope></dependency>
<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><source>17</source><target>17</target><annotationProcessorPaths><path><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.30</version></path></annotationProcessorPaths></configuration></plugin>
Lombok使用
lombok通過?些注解的方式,可以幫助我們消除?些冗長代碼,使代碼看起來簡潔?些。
@Data 注解會幫助自動實現?些方法,包含getter/setter,equals,toString等
@Data
public class MessageInfo {private String from;private String to;private String say;//通過一個工具jar包,通過一個注解@Data來實現對get、set方法的撰寫
}
具體查看加了@Data注解后手機閑了哪些方法,可以通過大家編譯后反編譯的文件進行查看,也就是target文件。
Lombok注解
注解 | 作用 |
---|---|
@Getter | ?動添加getter方法 |
@Setter | ?動添加setter方法 |
@ToString | ?動添加toString方法 |
@EqualsAndHashCode | ?動添加equals和hashCode方法 |
@NoArgsConstructor | ?動添加?參構造方法 |
@AllArgsConstructor | ?動添加全屬性構造方法,順序按照屬性的定義順序 |
@NonNull | 屬性不能為null |
@RequiredArgsConstructor | ?動添加必需屬性的構造方法,final+@NonNull 的屬性為必需 |
@Data=@Getter+@Setter+@ToString+@EqualsAndHashCode+@RequiredArgsConstructor+@NoArgsConstructor
三層架構
分層的目的
MVC模式強調數據和視圖分離,將數據展示和數據處理分開,通過控制器對兩者進?組合。
三層架構強調不同維度數據處理的高內聚和低耦合,將交互界面,業務處理和數據庫操作的邏輯分開。
但是?者的目的是相同的,都是"解耦,分層,代碼復用"。
MVC與分層的區別
MVC架構模式由三部分組成,分別是:模型(Model),視圖(View)和控制器(Controller)。
三層架構將業務應用劃分為:表現層,業務邏輯層,數據訪問層。
視圖和控制器合起來對應三層架構中的表現層,模型對應三層架構中的業務邏輯層,數據層,以及實體類。
三層架構
- 表現層(Controller):接收前端發送來的請求,對請求進行處理,并結果響應。
- 業務邏輯層(service):根據請求,對數據進行加工處理,處理具體的業務邏輯。
- 數據層(Dao):數據相關的處理,比如從mysql, hbase等獲取數據等。
在此基礎上,還有會個保存實體類的層(model),但是不同的項目有不同表現。
分層的好處
- 降低層與層之間的依賴,結構更加的明確,利于各層邏輯的復用。
- 開發人員可以只關注整個結構中的其中某?層,極大地降低了維護成本和維護時間。
- 可以很容易的用新的實現來替換原有層次的實現。
- 有利于標準化。
企業命名規范
常見命名命名風格介紹
大駝峰:所有單詞首字母都需要大寫,又叫帕斯卡命名法,比如: UserController
小駝峰:除了第一個單詞,其他單詞首字母大寫,比如: userController
蛇形:用下劃線(_)作用單詞間的分隔符,一般小寫,又叫下劃線命名法,比如: user_controller
串形:用短橫線(-)作用單詞間的分隔符,又叫脊柱命名法,比如: user-controller
大駝峰風格
類名使用大駝峰風格,但以下情形例外:DO/BO/DTO/VO/AO。
小駝峰風格
方法名、參數名、成員變量、局部變量統?使用小駝峰風格。
包名
包名統?使用小寫,點分隔符之間有且僅有?個自然語義的英語單詞。
常見注解
- @RequestMapping:路由映射
- @RequestParam:后端參數重命名
- @RequestBody:接收JSON類型的參數
- @PathVariable:接收路徑參數
- @RequestPart:上傳文件
- @ResponseBody:返回數據
- @CookieValue:從Cookie中獲取值
- @SessionAttribute:從Session中獲取值
- @RequestHeader:從Header中獲取值
- @Controller:定義一個控制器,Spring框架啟動時加載,把這個對象交給Spring管理,默認返回視圖
- @RestController:@ResponseBody+ @Controller 返回數據
Cookie與Session
Cookie和Session都是會話機制,Cookie是客戶端機制,Session是服務端機制。二者通過Sessionld來聯。SpringMVC內置HttpServletRequest,HttpServletResponse兩個對象,需要使用時,直接在方法中添加對應參數即可,Cookie和Session可以從HttpServletRequest中來獲取,也可以直接使用HttpServletResponse設置Http響應狀態碼。