學(xué)習(xí)記錄之Lombok框架
Lombok是一個可以在編譯期生成Setters & Getters、`hashCode()` & `equals()`、`toString()`等代碼的框架。
注意:Lombok生成這些代碼是在編譯期生成的,也就是源代碼(.java文件)編譯成目標(biāo)文件(.class文件)的過程中生成的。
添加依賴:
簡單的使用:
????在任何類上添加`@Data`注解,就可以使得在編譯期,會生成當(dāng)前類的屬性的Setters & Getters、`hashCode()` & `equals()`、`toString()`。其實,還有一些其它注解,例如:`@Setter`、`@Getter`、`@EqualsAndHashCode`、`@ToString`、`@NoArgsConstructor`、`
@AllArgsConstructor`等注解。其中,`@Data`注解等效于`@Setter`、`@Getter`、`@EqualsAndHashCode`、`@ToString`、`@NoArgsConstructor`的組合使用。
關(guān)于Lombok插件:
????由于Lombok生成的代碼僅在編譯期才會出現(xiàn),所以,各種開發(fā)工具都不識別此注解可生成的代碼部分,所以,如果沒有安裝Lombok插件,在調(diào)用各類型的Setter、Getter等方法時,開發(fā)工具會因為源代碼中沒有這些方法而報錯,所以,為了避免開發(fā)工具提示錯誤、無法在編寫代碼時提示Setter、Getter方法,應(yīng)該安裝插件。
使用爭議:
????由于Lombok對插件有要求,所以,某些開發(fā)團隊并不提倡,甚至禁止使用。
標(biāo)簽: