学习记录之Lombok框架
Lombok是一个可以在编译期生成Setters & Getters、`hashCode()` & `equals()`、`toString()`等代码的框架。
注意:Lombok生成这些代码是在编译期生成的,也就是源代码(.java文件)编译成目标文件(.class文件)的过程中生成的。
添加依赖:
简单的使用:
在任何类上添加`@Data`注解,就可以使得在编译期,会生成当前类的属性的Setters & Getters、`hashCode()` & `equals()`、`toString()`。其实,还有一些其它注解,例如:`@Setter`、`@Getter`、`@EqualsAndHashCode`、`@ToString`、`@NoArgsConstructor`、`
@AllArgsConstructor`等注解。其中,`@Data`注解等效于`@Setter`、`@Getter`、`@EqualsAndHashCode`、`@ToString`、`@NoArgsConstructor`的组合使用。
关于Lombok插件:
由于Lombok生成的代码仅在编译期才会出现,所以,各种开发工具都不识别此注解可生成的代码部分,所以,如果没有安装Lombok插件,在调用各类型的Setter、Getter等方法时,开发工具会因为源代码中没有这些方法而报错,所以,为了避免开发工具提示错误、无法在编写代码时提示Setter、Getter方法,应该安装插件。
使用争议:
由于Lombok对插件有要求,所以,某些开发团队并不提倡,甚至禁止使用。