lombok 阳光穿透心脏的1/2处 2022-05-17 04:46 174阅读 0赞 ### lombok简介 ### lombok是暑假来到公司实习的时候发现的一个非常好用的小工具,刚见到的时候就感觉非常惊艳,有一种相见恨晚的感觉,用了一段时间之后感觉的确挺不错,所以特此来推荐一下。 [lombok的官方地址:https://projectlombok.org/][lombok_https_projectlombok.org] [lombok的Github地址:https://github.com/rzwitserloot/lombok][lombok_Github_https_github.com_rzwitserloot_lombok] 那么lombok到底是个什么呢,lombok是一个可以通过简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 Java 代码的工具,简单来说,比如我们新建了一个类,然后在其中写了几个字段,然后通常情况下我们需要手动去建立getter和setter方法啊,构造函数啊之类的,lombok的作用就是为了省去我们手动创建这些代码的麻烦,它能够在我们编译源码的时候自动帮我们生成这些方法。 lombok能够达到的效果就是在源码中不需要写一些通用的方法,但是在编译生成的字节码文件中会帮我们生成这些方法,这就是lombok的神奇作用。 虽然有人可能会说IDE里面都自带自动生成这些方法的功能,但是使用lombok会使你的代码看起来更加简洁,写起来也更加方便。 ### lombok安装 ### lombok的安装跟一般引用jar包没有什么区别,可以到官网上下载最新的jar包,然后导入到项目里面就好啦。 **Maven添加依赖** <dependencies> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.16.10</version> </dependency> </dependencies> Intellij idea开发的话需要安装Lombok plugin,同时设置 Setting -> Compiler -> Annotation Processors -> Enable annotation processing勾选。 ### lombok使用 ### lombok使用过程中主要是靠注解起作用的,官网上的文档里面有所有的注解,这里不一一罗列,只说明其中几个比较常用的。 @NonNull: 可以帮助我们避免空指针。 使用lombok: import lombok.NonNull; public class NonNullExample extends Something \{ private String name; public NonNullExample(@NonNull Person person) \{ super("Hello"); this.name = person.getName(); \} \} 不使用lombok: public class NonNullExample extends Something \{ private String name; public NonNullExample(@NonNull Person person) \{ super("Hello"); if (person == null) \{ throw new NullPointerException("person"); \} this.name = person.getName(); \} \} @Cleanup: 自动帮我们调用close()方法。 使用lombok: import lombok.Cleanup; import java.io.\*; public class CleanupExample \{ public static void main(String\[\] args) throws IOException \{ @Cleanup InputStream in = new FileInputStream(args\[0\]); @Cleanup OutputStream out = new FileOutputStream(args\[1\]); byte\[\] b = new byte\[10000\]; while (true) \{ int r = in.read(b); if (r == -1) break; out.write(b, 0, r); \} \} \} 不使用lombok: import java.io.\*; public class CleanupExample \{ public static void main(String\[\] args) throws IOException \{ InputStream in = new FileInputStream(args\[0\]); try \{ OutputStream out = new FileOutputStream(args\[1\]); try \{ byte\[\] b = new byte\[10000\]; while (true) \{ int r = in.read(b); if (r == -1) break; out.write(b, 0, r); \} \} finally \{ if (out != null) \{ out.close(); \} \} \} finally \{ if (in != null) \{ in.close(); \} \} \} \} @Getter / @Setter: 自动生成Getter/Setter方法 使用lombok: import lombok.AccessLevel; import lombok.Getter; import lombok.Setter; public class GetterSetterExample \{ @Getter @Setter private int age = 10; @Setter(AccessLevel.PROTECTED) private String name; \} 不使用lombok: public class GetterSetterExample \{ private int age = 10; private String name; public int getAge() \{ return age; \} public void setAge(int age) \{ this.age = age; \} protected void setName(String name) \{ this.name = name; \} \} @NoArgsConstructor: 自动生成无参数构造函数。 @AllArgsConstructor: 自动生成全参数构造函数。 @Data: [自动为所有字段添加@ToString][ToString], @EqualsAndHashCode, @Getter方法,[为非final字段添加@Setter][final_Setter],[和@RequiredArgsConstructor][RequiredArgsConstructor]! ***还有其他一些比如自动生成日志对象等等之类的注解可以到官方网站去了解,就不一一列举了。*** [lombok_https_projectlombok.org]: https://projectlombok.org/ [lombok_Github_https_github.com_rzwitserloot_lombok]: https://github.com/rzwitserloot/lombok [ToString]: mailto:%E8%87%AA%E5%8A%A8%E4%B8%BA%E6%89%80%E6%9C%89%E5%AD%97%E6%AE%B5%E6%B7%BB%E5%8A%A0@ToString [final_Setter]: mailto:%E4%B8%BA%E9%9D%9Efinal%E5%AD%97%E6%AE%B5%E6%B7%BB%E5%8A%A0@Setter [RequiredArgsConstructor]: mailto:%E5%92%8C@RequiredArgsConstructor
相关 lombok 为什么需要lombok Java项目中,充斥着太多不友好的代码:POJO的getter/setter/toString;这些样板代码既没有技术含量,写起来又比较麻烦,又影响 绝地灬酷狼/ 2022年12月11日 02:28/ 0 赞/ 108 阅读
相关 lombok 转自:http://blog.csdn.net/mlinge/article/details/51340362 lombok是什么 lombok 是通过提供简单注 傷城~/ 2022年07月12日 06:56/ 0 赞/ 176 阅读
相关 lombok 转自:http://blog.csdn.net/mlinge/article/details/51340362 lombok是什么 lombok 是通过提供简单注 - 日理万妓/ 2022年07月12日 06:56/ 0 赞/ 168 阅读
相关 Lombok 【问题描述】 长假回来上班后的第一天,开发环境竟然出问题了。代码中所有的getter和setter方法都报错,显示各个实体类中没有提供对应的get/set方法。 ゝ一世哀愁。/ 2022年06月07日 03:44/ 0 赞/ 187 阅读
相关 Lombok https://www.jianshu.com/p/365ea41b3573 Lombok简介\\\ Lombok是一个可以通过简单的注解形式来帮助我们简化消除一些 骑猪看日落/ 2022年06月02日 00:45/ 0 赞/ 224 阅读
相关 Lombok Lombok简介 > Lombok是一个可以通过简单的注解形式来帮助我们简化消除一些必须有但显得很臃肿的Java代码的工具,通过使用对应的注解,可以在编译源码的时候生成对 桃扇骨/ 2022年05月22日 00:23/ 0 赞/ 181 阅读
相关 Lombok 官网下载地址[https://projectlombok.org][https_projectlombok.org] lombok是一个可以帮助我们简化java代码编写的工具 以你之姓@/ 2022年05月18日 23:13/ 0 赞/ 209 阅读
相关 lombok lombok简介 lombok是暑假来到公司实习的时候发现的一个非常好用的小工具,刚见到的时候就感觉非常惊艳,有一种相见恨晚的感觉,用了一段时间之后感觉的确挺不错,所以特 阳光穿透心脏的1/2处/ 2022年05月17日 04:46/ 0 赞/ 175 阅读
相关 Lombok 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/MOTUI/article/details/79012846 Lombok 港控/mmm°/ 2022年05月14日 16:45/ 0 赞/ 184 阅读
相关 Lombok 概述 Lombok 提供了一些注解来帮助我们简化消除一些必须有但显得臃肿的 java 代码,如 getting 和 setting,它是通过编译时字节码修改完成,性 素颜马尾好姑娘i/ 2021年09月10日 06:08/ 0 赞/ 349 阅读
还没有评论,来说两句吧...