代碼質(zhì)量提升之注解一-創(chuàng)新互聯(lián)

1. lombok注解:@RequiredArgsConstructor

目前成都創(chuàng)新互聯(lián)已為1000多家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁空間、網(wǎng)站托管、服務(wù)器租用、企業(yè)網(wǎng)站設(shè)計(jì)、沂水網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。

Spring 依賴注入方式
1.通過 @Autowire、@Resource 等注解注入,
2.通過構(gòu)造器的方式進(jìn)行依賴注入。
3.setter注入
4.lombok 的 @RequiredArgsConstructor

在controller或service層的時(shí)候,需要注入很多的service接口或者mapper接口,會(huì)寫很多的自動(dòng)注入@Autowired或者@Resource注解,使用lombok的@RequiredArgsConstructor注解寫在類上可以簡(jiǎn)化該操作。代碼看起來更清晰。

@RestController
@RequiredArgsConstructor
public class UserController extends BaseController {private final IUserService userService;
}

相關(guān)屬性:
staticName:返回生成靜態(tài)方法的名稱
onConstructor:列出的所有注解都放在生成的構(gòu)造方法上
access: 設(shè)置構(gòu)造方法的訪問修飾符
PUBLIC, MODULE, PROTECTED, PACKAGE, PRIVATE,NONE;
NONE:表示不生成任何內(nèi)容或完全缺乏方法。
MODULE:是 Java 9 的新特性。
注意:

1.注入時(shí)需要用final定義,或使用@NonNull注解
2.如果注入的類有多個(gè)實(shí)現(xiàn),需要用 @Qualifier 注解指定要注入的 bean 實(shí)現(xiàn)
3.@RequiredArgsConstructor 是為每個(gè)需要特殊處理的字段生成構(gòu)造函數(shù)。 所有未初始化的帶有 final 關(guān)鍵字的字段或標(biāo)有 @NonNull 注解都會(huì)獲得構(gòu)造字段;參數(shù)的順序與字段在類中出現(xiàn)的順序一致。

2.校驗(yàn)注解 spring注解:@Validated, javax 注解 @Valid

@Validated:Spring的注解,是標(biāo)準(zhǔn)JSR-303的一個(gè)變種(補(bǔ)充),提供了一個(gè)分組功能,可以在入?yún)Ⅱ?yàn)證時(shí),根據(jù)不同的分組采用不同的驗(yàn)證機(jī)制。
@Valid:標(biāo)準(zhǔn)JSR-303規(guī)范的標(biāo)記型注解,用來標(biāo)記驗(yàn)證屬性和方法返回值,進(jìn)行級(jí)聯(lián)和遞歸校驗(yàn)。

@Valid/@Validated
@PostMapping 
public Respone saveUser(@RequestBody User user){return Respone.success();
}
@PostMapping 
public Respone saveUser(@RequestBody @Valid/@Validated
						 User user){return Respone.success();
}

嵌套校驗(yàn): 一個(gè)類中包含了另外一個(gè)實(shí)體類,需要在上面加@Validated

public class User{@validated
    private ListcardList;
}

3.Spring中的 延遲加載 @Lazy注解
解決:

1.循環(huán)依賴問題,使用動(dòng)態(tài)代理創(chuàng)建一個(gè)代理類。
2.第一次調(diào)用的時(shí)候加載。減少IOC的啟動(dòng)時(shí)間。項(xiàng)目啟動(dòng)加快。
3.用來解決 Requested bean is currently in creation 的問題

4.hibernate 延遲加載 @Lazy 校驗(yàn)器:hibernate.validator
@Lazy

只有在需要時(shí)才去數(shù)據(jù)庫(kù)中抓取相應(yīng)的記錄。通過延遲加載技術(shù)可以避免過多、過早地加載數(shù)據(jù)表里的數(shù)據(jù),從而降低應(yīng)用的內(nèi)存開銷。

校驗(yàn)器:
@Length(max = 6 * 10,groups ={Ordinary.class,Loop.class,Update.class})

你是否還在尋找穩(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)查看詳情吧

本文名稱:代碼質(zhì)量提升之注解一-創(chuàng)新互聯(lián)
本文URL:http://muchs.cn/article28/ddcsjp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)小程序開發(fā)、網(wǎng)站設(shè)計(jì)公司、企業(yè)建站、網(wǎng)站排名、靜態(tài)網(wǎng)站

廣告

聲明:本網(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í)需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)