少儿美术专业网站做课件,怎么做单位网站,杭州网站建设哪家快速上线,农产品电子商务网站开发文章目录 一、什么是 Lombok1.1 Lombok 的概念1.2 为什么使用 Lombok1.3 Lombok 的相关注解 二、Lombok 的安装2.1 引入依赖2.2 安装插件 三、Lombok 的使用案例四、Lombok 的原理 一、什么是 Lombok
1.1 Lombok 的概念
Lombok#xff08;“Project Lombok”#xff09;是一… 文章目录 一、什么是 Lombok1.1 Lombok 的概念1.2 为什么使用 Lombok1.3 Lombok 的相关注解 二、Lombok 的安装2.1 引入依赖2.2 安装插件 三、Lombok 的使用案例四、Lombok 的原理 一、什么是 Lombok
1.1 Lombok 的概念
Lombok“Project Lombok”是一款针对 Java 开发的实用工具库。它通过使用注解自动生成 Java 类的通用代码从而简化了 Java 代码的编写过程。Lombok 的目标是减少样板代码boilerplate code提高代码的简洁性和可读性。
1.2 为什么使用 Lombok
在传统的 Java 开发中常常需要为 Java 类编写大量的 getter 和 setter 方法、equals 和 hashCode方法、toString方法等通用的代码这些代码在大多数情况下都是重复且无趣的。而使用 Lombok可以通过简单的注解在Java类上自动生成这些通用代码从而避免了重复劳动。
1.3 Lombok 的相关注解
下面是常用的 Lombok 注解
注解说明Data自动生成 getter、setter、equals、hashCode 和 toString 方法。Getter自动生成 getter 方法。Setter自动生成 setter 方法。ToString自动生成 toString 方法。EqualsAndHashCode自动生成 equals 和 hashCode 方法。NoArgsConstructor自动生成无参构造函数。RequiredArgsConstructor自动生成带有 NonNull 注解的成员变量的构造函数。AllArgsConstructor自动生成包含所有成员变量的构造函数。Builder自动生成建造者模式的构建方法。Slf4j自动生成 log 日志对象。Value类似于 Data但生成的类是不可变的immutable。Cleanup自动生成资源如流的关闭代码。SneakyThrows自动生成异常抛出代码用于把受检异常转换为非受检异常。NonNull为成员变量标记非空约束自动生成空值检查代码。Getter(AccessLevel.NONE)取消生成 getter 方法。Setter(AccessLevel.NONE)取消生成 setter 方法。NoArgsConstructor(access AccessLevel.PRIVATE)生成私有的无参构造函数。
以上是常用的一些 Lombok 注解及其说明通过使用这些注解可以简化 Java 类的编写减少样板代码提高代码的简洁性和可读性。需要根据实际情况选择合适的注解以便在项目中获得更好的开发体验。
二、Lombok 的安装
2.1 引入依赖
可以通过 Lombok的官网https://projectlombok.org/ 获取依赖 如果是 Maven 项目选择Install中的Build tools点击maven 进行复制然后粘贴到 pom.xml 中的 dependencies 里面即可当然在创建 Spring Boot 项目时也可以直接在创建的时候选择 Lombok 依赖。
2.2 安装插件
在 IDEA 中如果想要在使用时提示相应的注解还需要安装 Lombok Builder Helper 插件 三、Lombok 的使用案例
创建了一个使用 Lombok 注解的User类
Component
Getter
Setter
NoArgsConstructor
AllArgsConstructor
public class User {private Integer id;private String name;private Integer age;
}通过 TestController类获取 User 对象并对其执行操作
Controller
ResponseBody
public class TestController {Autowiredprivate User user;RequestMapping(/test)public void test(){System.out.println(user);System.out.println();user.setId(123);user.setName(张三);user.setAge(18);System.out.println();System.out.println(user);}
}执行结果
四、Lombok 的原理
Lombok 的原理主要依赖于 Java 的注解处理器Annotation Processor。在编译 Java 源代码的过程中注解处理器会读取源代码中的Lombok 注解并根据注解的定义自动生成相应的 Java 代码然后将这些生成的代码插入到编译结果中最终生成编译后的 class 文件。
具体来说Lombok的原理如下 注解的识别在编译 Java 源代码的过程中注解处理器会扫描源代码中的 Lombok 注解如Getter、Setter、NoArgsConstructor等。 解析注解一旦发现 Lombok 注解注解处理器会解析该注解的定义并确定生成代码的内容例如生成 getter 和 setter 方法构造函数等。 生成代码根据注解的定义注解处理器会生成对应的 Java 代码片段比如生成 getter 方法的代码setter 方法的代码构造函数的代码等。 插入生成的代码注解处理器将生成的代码插入到源代码中相应的位置。 编译在生成了包含 Lombok 生成的代码的新的 Java 源代码之后编译器会继续将新的源代码编译成字节码文件.class文件。 最终结果最终生成的class文件包含了Lombok生成的代码这样在运行时就能够使用Lombok自动生成的方法和构造函数等功能。
例如在编译 User 类前的代码如下 编译后查看 target 目录下 User 对应的 .class 文件 此时可以发现自动生成了各种 setter 、getter 和构造方法等。并且与 Lombok 相关的注解也消失了。