使用Lombok总结

Lombok学习总结

Project Lombok is a java library that automatically plugs into your editor and build tools, spicing up your java. 

Lombok介绍:

官网:https://projectlombok.org/java

经过简单的注解来精简代码达到消除冗长代码的目的框架

Lombok优势:提升编码效率,使代码更简洁,消除冗长代码,避免修改字段名字时忘记修改方法名maven

注意:idea上必需要支持Lombok,不然报错ide

Lombok引入:

maven引入:函数

<dependency>
       <groupId>org.projectlombok</groupId>
       <artifactId>lombok</artifactId>
       <version>1.16.20</version>
</dependency>

idea插件:

在实体类能够用idea快捷键 Ctrl+F12 查看方法

 

Lombok相关注解:

这里只说明下经常使用的,官方说明都有(https://projectlombok.org/features/all)学习

 

@Data 
注解在类上;提供类全部属性的 getting 和 setting 方法,此外还提供了equals、canEqual、hashCode、toString 方法
使用 @Data 注解就能够有这几个注解的功能:@ToString 、@Getter 、@Setter 、@EqualsAndHashCode 、@NoArgsConstructor
@Setter
注解在属性上;为属性提供 setting 方法
@Getter
注解在属性上;为属性提供 getting 方法
@Log4j
@Slf4j
注解在类上;为类提供一个 属性名为log 的 log4j 日志对象 具体看项目中用到的日志框架
 @NoArgsConstructor 注解在类上;为类提供一个无参的构造方法 @AllArgsConstructor 注解在类上;为类提供一个全参的构造方法,同时若是变量使用了NotNull annotation , 会进行是否为空的校验, 所有参数的构造函数的自动生成,该注解的做用域也是只有在实体类上,参数的顺序与属性定义的顺序一致。 @Cleanup 自动化关闭流,至关于 jdk1.7 中的 try with resource @Builder 被注解的类加个构造者模式 @Synchronized 加个同步锁 方法中全部的代码都加入到一个代码块中,默认静态方法使用的是全局锁,普通方法使用的是对象锁,固然也能够指定锁的对象。@SneakyThrows 等同于try/catch 捕获异常 当咱们须要抛出异常,在当前方法上调用,不用显示的在方法名后面写 throw @NonNull 若是给参数加个这个注解 参数为null会抛出空指针异常 @Value 注解和@Data相似,区别在于它会把全部成员变量默认定义为private final修饰,而且不会生成set方法。 @toString注解在类上;为类提供toString方法(能够添加排除和依赖)@RequiredArgsConstructor会生成一个包含常量(final),和标识了@NotNull的变量 的构造方法。@Accessors翻译是存取器。经过该注解能够控制getter和setter方法的形式。fluent 若为true,则getter和setter方法的方法名都是属性名,且setter方法返回当前对象chain 若为true,则setter方法返回当前对象prefix 若为true,则getter和setter方法会忽视属性名的指定前缀(遵照驼峰命名)
相关文章
相关标签/搜索