Lombok的使用
Lombok是一款java开发插件,它可以通过注解来减少业务中冗长和繁琐的代码,尤其是对于简单的java模型对象(POJO)。
使用步骤:
-
在IDEA中下载Lombok插件
在setting中找到Plugins,搜索lombok,install即可
-
在项目中引入lombok的jar包
可以从maven仓库中搜索lombok依赖
<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.24</version> <scope>provided</scope> </dependency>
-
在实体类上加注解
当前版本lombok全部注解:
@Getter and @Setter
@FieldNameConstants
@ToString
@EqualsAndHashCode
@AllArgsConstructor, @RequiredArgsConstructor and @NoArgsConstructor
@Log, @Log4j, @Log4j2, @Slf4j, @XSlf4j, @CommonsLog, @JBossLog, @Flogger, @CustomLog
@Data
@Builder
@SuperBuilder
@Singular
@Delegate
@Value
@Accessors
@Wither
@With
@SneakyThrows
@val
@var
experimental @var
@UtilityClass
常用注解:
@Data : 无参构造、get、set、equals、hashCode、toString
@AllArgsConstructor : 全部参数构造器
@NoArgsConstructor :无参构造
@Getter and @Setter :get、set
@ToString :toString方法 @EqualsAndHashCode :equals和hashcode方法
注意点:
-
@Getter and @Setter 注解作用域是类和变量,作用在类上,是给所有的变量都写get和set方法。作用在变量上是只给那一个变量写get和set方法。
-
@Data 只有无参构造,如果想要使用@AllArgsConstructor加有参构造,那么之前的@Data生成的无参构造就消失了(因为java规定想要有参构造和无参构造必须显示定义无参构造),这时可以自己手写无参构造,也可以使用 @NoArgsConstructor
-
lombok虽然简单方便,但是存在一些争议,有人认为像lombok这种直接简化Java项目源码的插件会使Java走向灭亡。