目录
一文搞懂Lombok使用与原理
- 1.前言
- 2.什么是Lombok
- 3. IntelliJ安装Lombok
- 3.1通过IntelliJ的插件中心安装
- 3.2在项目中使用Lombok Plugins
- 4.Lombok 注解大全说明
- 4.1POJO类常用注解
- 4.2其他注解
- 5.Lombok常见问题
- 6.总结
- 7.参考
文章所属专区 超链接
1.前言
2.什么是Lombok
Lombok是一款强大的Java工具,主要用于简化Java开发过程,尤其是对于简单的Java对象(POJO)。它通过注解的方式,帮助开发者消除Java的冗长代码,如getter、setter、equals、hashCode等方法,从而大大提高开发效率
3. IntelliJ安装Lombok
需要注意的是:IDEA 2020.3版本内置了lombok插件,所以无需在IntelliJ额外安装了,可能会出现其他问题!!!
3.1通过IntelliJ的插件中心安装
setting->Plugins->搜索Lombok Plugins 安装,重启即可
3.2在项目中使用Lombok Plugins
在maven中,在相关pom文件直接加入依赖
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.16.8</version>
</dependency>
4.Lombok 注解大全说明
4.1POJO类常用注解
@Data:注解在类上,相当于同时使用了@ToString、@EqualsAndHashCod- e、@Getter、@Setter 和@RequiredArgsConstrutor 这些注解,对于 POJO 类十分有用
@ToString :这个注解可以使类自动覆写 toString 方法。在使用时,你可以添加其他参数,例如 @ToString(exclude=”id”) 表示排除id属性,或者 @ToString(callSuper=true, includeFieldNames=true) 表示调用父类的 toString 方法,包含所有属性。
@Getter/@Setter:这两个注解可以为属性生成 getter 和 setter 方法。在使用时,你可以选择访问范围,比如是否公开所有属性,或者只对某些属性进行getter和setter。
@NonNull:这个注解可以用于方法参数,它会在方法内部对参数进行非空判断,如果参数为空,则会抛出 NullPointerException。
@Cleanup: 这个注解可以用于局部变量,它会在变量离开作用域前自动清理资源。
@EqualsAndHashCode:这个注解可以使类自动生成 equals 方法和 hashCode 方法。在使用时,你可以选择是否覆盖父类的 equals 和 hashCode 方法,以及是否包含哪些属性。
@Builder:对于加了@Builder注解的方法,可以知道,编译后这个类多了一个builder()方法,以及一个静态内部类。通过这个注解可以在类上创建一个对象,并且可以链式的进行赋值。
import lombok.Builder;
import lombok.ToString;@Builder
@ToString
public class User {private String name;private int age;private String email;
}ser user = User.builder().name("Tom").age(25).email("tom@example.com").build();
4.2其他注解
@NoArgsConstructor:这个注解用于在类上,这个注解可以生成无参构造方法。使用方法是在类上直接使用该注解即可。示例如下:
@RequiredArgsConstructor:这个注解同样用于在类上,但是它要求所有的构造方法参数都必须被标注。使用方法是在类上直接使用该注解即可。
@AllArgsConstructor:这个注解也用于在类上,与@RequiredArgsConstructor类似,但是它要求所有的构造方法参数都必须被标注,包括那些没有在类中声明的参数。示例如下:
@Value:用在类上,是@Data 的不可变形式,相当于为属性添加 final 声明,只提供 getter 方法,而不提供 setter 方法
@SneakyThrows:自动抛受检异常,而无需显式在方法上使用 throws 语句
@Log:根据不同的注解生成不同类型的 log 对象,但是实例名称都是 log,有六种可选实现类
@CommonsLog Creates log = org.apache.commons.logging.LogFactory.getLog(LogExample.class);
@Log Creates log = java.util.logging.Logger.getLogger(LogExample.class.getName());
@Log4j Creates log = org.apache.log4j.Logger.getLogger(LogExample.class);
@Log4j2 Creates log = org.apache.logging.log4j.LogManager.getLogger(LogExample.class);
@Slf4j Creates log = org.slf4j.LoggerFactory.getLogger(LogExample.class);
@XSlf4j Creates log = org.slf4j.ext.XLoggerFactory.getXLogger(LogExample.class);
5.Lombok常见问题
Lombok常见问题
最全一篇Lombok使用讲解,及原理,真香啊
java lombok注解字段默认值 lombok常用注解
6.总结
Lombok是一款Java开发插件,它提供了一系列的注解,这些注解可以帮助开发者消除Java开发中的冗长和繁琐的代码,尤其对于简单的Java模型对象(POJO)。
7.参考
十分钟搞懂Lombok使用与原理
最全一篇Lombok使用讲解,及原理,真香啊
java lombok注解字段默认值 lombok常用注解
给个三连吧 谢谢谢谢谢谢了