lombok介紹
Lombok能以注解形式來簡化java代碼,提高開發效率。開發中經常需要寫的javabean,都需要花時間去添加相應的getter/setter,也許還要去寫構造器、equals等方法,而且需要維護。而Lombok能通過注解的方式,在編譯時自動為屬性生成構造器、getter/setter、equals、hashcode、toString方法。特別的是它在源碼中沒有getter和setter方法,但是在編譯生成的字節碼文件中有getter和setter方法。這樣就省去了手動重建這些代碼的麻煩,使代碼看起來更簡潔些。
基于IDEA添加Lombok插件
目前新版的IDEA已經自動安裝了Lombok插件,你可以在設置的插件里面查看是否安裝了Lombok
第一此使用可能爆紅需要將Lombok添加到路徑中來。
lombok常用注解
@Getter和@Setter
- 作用:生成成員變量的get和set方法。
- 寫在成員變量上,指對當前成員變量有效。
- 寫在類上,對所有成員變量有效。
- 注意:靜態成員變量無效。
@ToString
- 作用:生成toString()方法。
- 注解只能寫在類上。
@EqualsAndHashCode
- 作用:生成hashCode()和equals()方法。
- 注解只能寫在類上。
@NoArgsConstructor
和@AllArgsConstructor
- @NoArgsConstructor:無參數構造方法。
- @AllArgsConstructor:滿參數構造方法。
- 注解只能寫在類上。
@Data
- 作用:生成get/set,toString,hashCode,equals,無參構造方法
- 注解只能寫在類上。
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Student {private Integer id;private String name;
}
public class Main {public static void main(String[] args) {Student student = new Student();student.setName("張三");student.setId(1);System.out.println(student.getName()+"..."+student.getId());Student p1 = new Student(2, "李四");System.out.println(p1.getName()+"..."+p1.getId());}
}