Mybatis+SpringMVC商城項(xiàng)目注解總結(jié)-創(chuàng)新互聯(lián)

Mybatis+SpringMVC商城項(xiàng)目注解總結(jié)
  • lombok框架注解

    成都創(chuàng)新互聯(lián)公司自2013年創(chuàng)立以來(lái),是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站建設(shè)、網(wǎng)站制作網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元南安做網(wǎng)站,已為上家服務(wù),為南安各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:13518219792

    Lombok框架是用于在編譯期自動(dòng)生成相關(guān)代碼的,例如:Setters & Getters、hashCode()、equals()、toString()、無(wú)參數(shù)構(gòu)造方法、全參數(shù)構(gòu)造方法等。

import lombok
@Slf4j 完成日志打印 在類上使用	
    log.trace("")
    log.info("")
    log.debug("")
    log.warn("")
    log.error("")
    
@Setter: 添加在屬性上,用于生成此屬性的Setter方法,或者,添加在類上,用于生成此類中所有屬性的Setter方法
    
@Getter: 添加在屬性上,用于生成此屬性的Getter方法,或者,添加在類上,用于生成此類中所有屬性的Getter方法
    
@ToString: 添加在類上,用于生成基于此類中所有屬性的`toString()`方法

@EqualsAndHashCode: 添加在類上,用于生成基于此類中所有屬性的`hashCode()`和`equals()`方法,生成的方法將保證:如果2個(gè)對(duì)象的類型相同,且所有屬性值相同,則`hashCode()`返回相同的結(jié)果,且`equals()`對(duì)比結(jié)果為`true`,否則,`hashCode()`返回不同的結(jié)果,且`equals()`對(duì)比結(jié)果為`false`
    
@NoArgConstructor: 添加在類上,用于生成無(wú)參數(shù)構(gòu)造方法

@AllArgConstructor: 添加在類上,用于生成基于此類中所有屬性的全參數(shù)構(gòu)造方法

@Data 添加在類上,用于生成Setters & Getters、`hashCode()`、`equals()`、`toString()`,使用此注解時(shí),必須保證當(dāng)前類的父類存在無(wú)參數(shù)構(gòu)造方法
  • SpringWeb框架提供的注解
import org.springframework.web.bind.annotation
@RequestMapping("請(qǐng)求url")
 @RequestMapping(value = "/add-new",method = RequestMethod.POST/GET)
@PostMapping("Post請(qǐng)求ur")
@GetMapping("Get請(qǐng)求ur")
    
@Controller 負(fù)責(zé)接收控制請(qǐng)求 有這個(gè)注解才能讓SpringBoot框架運(yùn)行時(shí)進(jìn)入此類
    
@ResponseBody 注解的作用是將 controller 的方法返回的對(duì)象通過(guò)適當(dāng)?shù)霓D(zhuǎn)換器轉(zhuǎn)換為指定的格式之后,寫入到 response對(duì)象的 body 區(qū),通常用來(lái)返回 JSON 數(shù)據(jù)或者是 XML 數(shù)據(jù)。
(注意: @ResponseBody一般在異步獲取數(shù)據(jù)時(shí)使用【也就是AJAX】,在使用 @RequestMapping后,返回值通常解析為跳轉(zhuǎn)路徑,但是加上 @ResponseBody 后返回結(jié)果不會(huì)被解析為跳轉(zhuǎn)路徑,而是直接寫入 HTTP response body 中。)

@RestController 此注解為@Controller+@ResponseBody
    
@RequestBody 用于將請(qǐng)求體中的數(shù)據(jù)綁定到方法的形參中,該注解用在方法的形參上。
(注意: @RequestBody 注解用于讀取Request請(qǐng)求的body部分?jǐn)?shù)據(jù),使用系統(tǒng)默認(rèn)配置的HttpMessageConverter進(jìn)行解析,然后把相應(yīng)的數(shù)據(jù)綁定到要返回的對(duì)象上;再把HttpMessageConverter返回的對(duì)象數(shù)據(jù)綁定到 controller中方法的參數(shù)上。)
  • 配置API文檔注解
@Api:添加在控制器類上
    此注解的`tags`屬性,可配置模塊名稱,可以在模塊名稱中使用編號(hào),例如:`01. 品牌管理模塊`,最終將按照編號(hào)升序排列

@ApiOperation:添加在控制器類中處理請(qǐng)求的方法上
    此注解的`value`屬性,可配置業(yè)務(wù)名稱

@ApiOperationSupport:添加在控制器類中處理請(qǐng)求的方法上
	此注解的`order`屬性(`int`類型),可配置業(yè)務(wù)的排序序號(hào),最終將升序排列

@ApiModelProperty:添加在POJO類型的屬性上

  此注解的`value`屬性,可配置參數(shù)名稱(說(shuō)明)
  此注解的`required`屬性,可配置是否必須提交此參數(shù)
  此注解的`example`屬性,可配置此請(qǐng)求參數(shù)的示例值

@ApiImplicitParam:添加在控制器類中處理請(qǐng)求的方法上,用于對(duì)未封裝的請(qǐng)求參數(shù)添加說(shuō)明(例如`Long id`參數(shù))

  必須配置此注解的 name 屬性,取值為方法的參數(shù)名稱,表示當(dāng)前注解對(duì)哪個(gè)參數(shù)進(jìn)行說(shuō)明
  此注解的 value 屬性,可配置參數(shù)名稱(說(shuō)明)
  此注解的 required 屬性,可配置是否必須提交此參數(shù)
  此注解的 dataType 屬性,可配置參數(shù)的數(shù)據(jù)類型(例如取值為 "long" )
  此注解的 example 屬性,可配置此請(qǐng)求參數(shù)的示例值

@ApiImplicitParams:添加在控制器類中處理請(qǐng)求的方法上,此注解的`value`屬性是`@ApiImplicitParam`注解的數(shù)組類型,當(dāng)需要使用@ApiImplicitParam:對(duì)多個(gè)未封裝參數(shù)進(jìn)行說(shuō)明時(shí),需要將多個(gè)`@ApiImplicitParam`注解的配置作為當(dāng)前注解的參數(shù)
  • Validation框架注解

@Valid@Validated注解,用于表示此參數(shù)是需要通過(guò)Validation框架進(jìn)行檢查的!

(二者的不同點(diǎn)在于@Valid注解只能添加在參數(shù)前,@Validated還可以添加在類上用于監(jiān)控方法中單個(gè)參數(shù)的值)

使用Validation框架檢查數(shù)據(jù)格式時(shí),常用的檢查注解有:

  • @NotNull:不允許為null
    • 可用于任何類型的參數(shù)
  • @NotEmpty:不允許為空字符串,即長(zhǎng)度為0的字符串
    • 僅用于檢查字符串類型的參數(shù)
  • @NotBlank:不允許為空白的字符串,即僅由空格或TAB制表位或換行組成的值
    • 僅用于檢查字符串類型的參數(shù)
  • @Length:限制字符串的長(zhǎng)度
  • @Pattern:通過(guò)正則表達(dá)式檢查字符串的格式,此注解的regexp屬性就是定義正則表達(dá)式的屬性
    • 僅用于檢查字符串類型的參數(shù)
  • @Min:限制整型數(shù)值的最小值
    • 僅用于檢查整型數(shù)值參數(shù)
  • @Max:限制整型數(shù)值的大值
    • 僅用于檢查整型數(shù)值參數(shù)
  • @Range:限制整型數(shù)值的取值區(qū)間,默認(rèn)最小值為0,大值為long的上限值
    • 僅用于檢查整型數(shù)值參數(shù)

所有檢查注解都有message屬性,用于配置檢查失敗時(shí)的提示文本。

每個(gè)被檢查參數(shù)可以同時(shí)添加多個(gè)檢查注解!

注意:@NotNull注解可以添加在任何類型的參數(shù)上,并且,除了@NotNull以外的所有注解在參數(shù)為null時(shí)都會(huì)是檢查通過(guò)的結(jié)果,所以,許多檢查規(guī)則都會(huì)同時(shí)使用@NotNull和另一個(gè)檢查注解(除非你允許這個(gè)參數(shù)是null)。

**提示:**在源代碼中,找到某個(gè)檢查注解的import語(yǔ)句,按住Ctrl鍵點(diǎn)擊其包名,即可看到此包下還有哪些檢查注解!

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧

網(wǎng)站標(biāo)題:Mybatis+SpringMVC商城項(xiàng)目注解總結(jié)-創(chuàng)新互聯(lián)
網(wǎng)站URL:http://muchs.cn/article8/cdsdop.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、網(wǎng)站導(dǎo)航App開(kāi)發(fā)、響應(yīng)式網(wǎng)站、建站公司、網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)