🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
**一、使用lombok插件的好处** ***** 我们在java开发过程中,经常会有一些常规性的,重复性的工作。比如: * 根据成员变量生成get和set方法 * 根据成员变量生成类的构造函数 * 重写toString()和hashCode方法 * 引入日志框架logFactory,用来打印日志 以上都是一些重复动作,模板代码。每次都手动生成既浪费时间,又增加了大量的冗余代码。我们可以使用lombok插件来解决这个问题。使我们的编码效率得到大幅度的提高! **二、如何安装lombok插件** ***** 以InelliJ IDEA为例,安装lombok插件。打开 IDEA 的 File->Settings 面板,并选择 Plugins 选项,在搜索框输入”lombok”,结果中找到lombok点击install,然后重启 IDEA。 这里已经安装,就不贴重复安装的图了。 ![](https://img.kancloud.cn/eb/e6/ebe6ec829722cf9010fb46644dae2d6c_1500x779.png) 在pom.xml文件中加入注解使插件生效 ![](https://img.kancloud.cn/c4/bf/c4bfbf0ff43decad698a86a458a78c34_1079x660.png) ``` <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> ``` > 在Spring Boot项目里面不需要加入版本号,spring Boot父项目会代为管理。如果是其他项目,请自行添加版本号! **三、使用lombok注解简化开发** ***** **3.1 Data注解** 在java类上使用@Data注解,将为我们在编译期自动生成 * 成员变量的get和set方法 * equals方法 * canEqual方法 * hashCode方法 * toString方法 ![](https://img.kancloud.cn/d5/8a/d58a1a739113c1ee5b21305693c0cc38_1410x796.png) 上图左侧是使用lombok注解Data,右侧是java字节码class文件反编译结果 **3.2 Slf4j注解** 将在编译期自动帮我们引入Logger日志常量,我们在代码中就直接使用log.info或log.debug打印日志即可。 ![](https://img.kancloud.cn/12/ec/12ec7707943fab0cd1c1806456601225_1104x561.png) 可以看到Slf4j自动生成了logger日志 ![](https://img.kancloud.cn/11/cf/11cfdaaff503f79150910e477d3a8bd0_1391x752.png) **3.3 Builder注解** 在Java类上使用Builder注解之后,我们可以使用如下代码为对象属性赋值 ![](https://img.kancloud.cn/91/ff/91ffab6f967c6aa220ecd8139454f976_957x573.png) ``` LombokPOJO lombokPOJO = LombokPOJO.builder() .name("kimgao") .age(32) .build(); ``` ![](https://img.kancloud.cn/0d/98/0d9887a8795251bba1e86b6747966c41_1385x702.png) **3.4 AllArgsConstructor注解** AllArgsConstructor注解将为我们在编译期自动生成:全参构造函数。 ![](https://img.kancloud.cn/ee/3a/ee3a5e5962f8dd60a6241de958a8aae5_1373x759.png) 附: 有全参构造函数注解,自然就有无参构造函数注解:NoArgsConstructor注解。 lombok有非常多的好用的注解,更多的用法参考github([https://github.com/mplushnikov/lombok-intellij-plugin](https://github.com/mplushnikov/lombok-intellij-plugin))