lombok 是什么: lombok是一个java开发工具, 能帮助我们减少大量的重复劳动.
lombok能帮助我们做什么: lombok提供了大量的注解, 只要添加了这些注解,lombok就能自动完成很多代码.
举个例子, 我们在写java的POJO时, 往往需要写大量get, set和toString等方法. 这时候我们只需要在这个POJO上添加一个@Data注解,你只需要定义好属性,其他一切都搞定了, 如下图:
想要用lombok,必须要先干下面两件事:
首先在pom中引入lombok的依赖。
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
然后在idea的插件安装中搜索lombok插件并安装即可。
(安装完成后重启IDEA, 如果不安装插件, 在代码中使用lombok的注解是会报错的.)
下面介绍一下常用的lombok注解的用法:
POJO的注解 :
- @Getter : 自动生成属性的get方法
- @Setter : 自动生成属性的set方法
- @ToString: 自动生成toString 方法 , 格式是ClassName(fieldName= fieleValue ,fieldName1=fieleValue)
- @EqualsAndHashCode:自动生成equals和hashCode方法
- @RequiredArgsConstructor :自动生成指定参数的构造函数
- @NoArgsConstructor: 自动生成无参数构造函数
- @AllArgsConstructor: 自动生成包含所有属性参数的构造函数
- @Data : 这是个全家桶, 包含了@Getter、@Setter、@ToString、@EqualsAndHashCode、@RequiredArgsConstructor等注解的定义.
- @Value: 是生成不可变类型的所有方法(私有方法,且是final), 和@Data类似
日志注解:
@CommonsLog @JBossLog @Log @Log4j @Log4j2 @Slf4j @XSlf4j
包含了大多数日志库,注解到方法上能自动生成私有的日志对象,需要和项目中的日志库匹配, 例如我在项目中用了slf4j, 那边就用@Slf4j注解
其他注解:
- @Builder: 自动生成一个建造者模式值对象的代码.
- @Synchronized: 方法注解, 类似于方法加Synchronized 关键字
- @NonNull: 方法的入参注解, 可以自动生成入参的空检查, 为空则抛出异常.
以上介绍了lombok的常用注解, 关于lombok的其他注解, 大家有兴趣可以去官网查一下.