Lombok 是一种 Java? 实用工具,可用来帮助开发人员消除 Java 的冗长,尤其是对于简单的 Java 对象(POJO)。它通过注解实现这一目的。
lombok是一个可以通过简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 Java 代码的工具。
简单来说,比如我们新建了一个类,然后在其中写了几个属性,然后通常情况下我们需要手动去建立getter和setter方法,构造函数,toString、等等。lombok的作用就是为了省去我们手动创建这些代码的麻烦,它能够在我们
编译源码的时候自动帮我们生成这些方法。
lombok能够达到的效果就是在源码中不需要写这些通用的方法,但是在编译生成的字节码文件中会帮我们生成这些方法。
它和IDEA中的生成不同,虽然IDE里面都自带自动生成这些方法的功能,但是使用lombok不会在代码中显示这些代码,会使你的代码看起来更加简洁,而是在字节码中体现,而且通过注解的方式写起来也更加方便。
实现原理: Lombok是依赖jar包的原因是因为编译时要用它的注解.是插件的原因是他要在编译器编译时通过操作AST(抽象语法树)改变字节码生成.也就是说他可以改变java语法. 他不像spring的依赖注入或者hibernate的orm
一样是运行时的特性,而是编译时的特性.
代码: 只需 @Data 全部自动生成
@Data
public class Mountain{
private String name;
private double longitude;
private String country;
}
- 如果觉得 @Data这个注解有点简单粗暴的话, Lombok提供一些更精细的注解, 比如@Getter,@Setter,(这两个是field注解), @ToString, @AllArgsConstructor(这两个是类注解).
Lombok 安装
LomBok依赖
在IDEA的Setting中找到plugs 然后搜索 Lombok,安装该插件。
Lombok中的注解
@NonNull
@Cleanup
@Getter/@Setter
@ToString
@EqualsAndHashCode
@NoArgsConstructor/@RequiredArgsConstructor /@AllArgsConstructor
@Data
@Value
@SneakyThrows
@Synchronized
@Log
原文:https://www.cnblogs.com/szqengr/p/14727369.html