使用 lombok 简化 Java 代码

发布时间:2019-11-20 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了使用 lombok 简化 Java 代码脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

lombok 是一个第三方工具,提供了一些注解功能,可以帮助我们消除冗余、臃肿的 Java 代码,比如 POJO 的 getter/setter 方法、构造方法、hashcode 方法等。lombok 在编译时根据注解生成具体的代码,在虚拟机中运行时与直接定义的属性和方法并没有什么不同。使用 lombok 可以大大减少 Java 代码行数提高开发效率。

安装

需要在 IDE 中安装 lombok 插件,才能在 IDE 中正常使用 lombok 生成的方法。以 Idea 为例,在 Settings -> Plugins 中搜索 lombok,即可安装插件,然后重启 Idea 使插件生效

clipboard.png

在项目的 pom.XMl 文件中,需要引入 lombok 插件和 maven 依赖。

<plugin>     <groupId>org.projectlombok</groupId>     <artifactId>lombok-maven-plugin</artifactId>     <version>1.16.8.0</version>     <executions>         <execution>             <phase>generate-sources</phase>             <goals>                 <goal>delombok</goal>             </goals>         </execution>     </executions> </plugin> <dependency>     <groupId>org.projectlombok</groupId>     <artifactId>lombok</artifactId>     <version>1.14.4</version> </dependency>

常用注解

lombok 提供了很多注解,常用的如下。
@Getter:注解在属性上,提供 getter 方法;
@Setter:注解在属性上,提供 setter 方法;
@AllArgsConstructor:注解在类上,提供构造方法,参数为所有属性;
@NoArgsConstructor:注解在类上,提供无参构造方法;
@Data:注解在类上,提供所有属性的 getter 方法、setter 方法以及 equals、hashCode、toString 等方法;
@LOG:注解在类上,提供一个名为 log 的属性,类型为 java.util.logging.Logger,也可使用 @Log4j、@Log4j2、@Slf4j 等其他注解;
@ToString:注解在类上,提供 toString 方法;
@EqualsAndHashCode:注解在类上,提供 equals、hashCode 方法;
@Synchronized:注解在方法上,提供 synchronized,可以指定锁的名称;
@NonNull:注解在方法参数上,提供对参数的校验,止空指针异常;
@Cleanup:注解在局部变量上,提供对资的关闭,即调用 close 方法;

使用示例

在下面的示例中,我们使用注解生成了无参构造器、有参构造器、 getter/setter 方法、hashcode 方法、equals 方法、toString 方法,生成了一个 slf4j 的日志工具 log,在 test 方法中生成了对于参数 msg 的空指针校验。有了 lombok,Java 代码变得非常简洁。

@Data @Slf4j @AllargsConstructor @NoArgsConstructor public class LombokTest {     @Getter     @Setter     private String name;     private int age;      public void test(@NonNull String msg){         log.info(msg);//lombok 提供了 slf4J 日志工具     }      public static void main(String[] args){         LombokTest test = new LombokTest();//无参构造器         test.setAge(17);//@Data 提供set方法         test.setName("Lucy");//@Setter 提供set方法         System.out.println(test.getName());//get方法          //有参构造器,参数按属性定义顺序传入         LombokTest lombokTest = new LombokTest("hanmeimei",15);         //lombok 提供了空指针检测,会抛出异常         lombokTest.test(null);     } }

脚本宝典总结

以上是脚本宝典为你收集整理的使用 lombok 简化 Java 代码全部内容,希望文章能够帮你解决使用 lombok 简化 Java 代码所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。