LOMBOK
关于Lombok
Lombok是一个可以在编译期生成Setters & Getters、hashCode()
& equals()
、toString()
等代码的框架。
注意:Lombok生成这些代码是在编译期生成的,也就是源代码(.java文件)编译成目标文件(.class文件)的过程中生成的。
添加依赖
<!-- Lombok --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> <version>1.18.20</version> </dependency>
简单的使用
在任何类上添加@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对插件有要求,所以,某些开发团队并不提倡,甚至禁止使用。