模型類的編寫需要私有屬性,setter…getter…方法、toString方法 和構(gòu)造函數(shù)。雖然這些內(nèi)容不難,同時也都是通過IDEA工具生成的,但是過程還是必須得走一遍,那么對于模型類的編寫有沒有什么優(yōu)化方法?可以通過Lombok來實現(xiàn)優(yōu)化。
Lombok,是一個Java類庫,提供了一組注解,簡化POJO實體類開發(fā)。下面看Lombok的使用步驟:
步驟1:添加lombok依賴
???? org.projectlombok ????lombok ????
注意:版本可以不用寫,因為SpringBoot中已經(jīng)管理了lombok的版本。
步驟2:安裝Lombok的插件
新版本IDEA已經(jīng)內(nèi)置了該插件,如果刪除setter和getter方法程序有報紅,則需要安裝插件。
如果在IDEA中找不到lombok插件,可以訪問如下網(wǎng)站
https://plugins.jetbrains.com/plugin/6317lombok/versions
根據(jù)自己IDEA的版本下載對應(yīng)的lombok插件,下載成功后,在IDEA中采用離線安裝的方式進(jìn)行安裝。
步驟3:模型類上添加注解
Lombok常見的注解有:
@Setter:為模型類的屬性提供setter方法
@Getter:為模型類的屬性提供getter方法
@ToString:為模型類的屬性提供toString方法
@EqualsAndHashCode:為模型類的屬性提供equals和hashcode方法
@Data:是個組合注解,包含上面的注解的功能
@NoArgsConstructor:提供一個無參構(gòu)造函數(shù)
@AllArgsConstructor:提供一個包含所有參數(shù)的構(gòu)造函數(shù)
Lombok的注解還有很多,上面加粗的三個是比較常用的,其他的大家后期用到了,再去補(bǔ)充學(xué)習(xí)。
@Data@AllArgsConstructor@NoArgsConstructorpublic?class?User?{????private?Long?id;????private?String?name;????private?String?password;????private?Integer?age;????private?String?tel;}
說明:
Lombok只是簡化模型類的編寫,我們之前的方法也能用,比如有人會問:我如果只想要有name和password的構(gòu)造函數(shù),該如何編寫?
@Data?@AllArgsConstructor?@NoArgsConstructor?????public?class?User?{?????private?Long?id;?????private?String?name;?????private?String?password;?????private?Integer?age;?????private?String?tel;?????????public?User(String?name,?String?password)?{?????????this.name?=?name;?????????this.password?=?password;?????}?}
這種方式是被允許的。
Copyright ? 2013-2021 河南云和數(shù)據(jù)信息技術(shù)有限公司 豫ICP備14003305號 ISP經(jīng)營許可證:豫B-20160281