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