当前位置: 首页 > 科技观察

使用Lombok来精简你的项目代码

时间:2023-03-13 09:10:12 科技观察

简单来说Lombok是什么:lombok是一个提供简单注解的工具,可以简化我们重复冗长的Java代码。例如,一个用lombok的@Data注解的JavaBean:@DatapublicclassNormalBean{privateStringname;}相当于下面的代码,编译时会自动生成Getter/Setter、toString、equals和hashCode方法。publicclassNormalBean{privateStringname;publicStringgetName(){returnname;}publicvoidsetName(Stringname){this.name=name;}@Overridepublicbooleanequals(Objecto){if(this==o)returntrue;if(o==null||getClass()!=o.getClass())returnfalse;NormalBeanthat=(NormalBean)o;returnname!=null?name.equals(that.name):that.name==null;}@OverridepublicinthashCode(){returnname!=null?姓名。hashCode():0;}@OverridepublicStringtoString(){return"NormalBean{"+"name='"+name+'\''+'}';}}Lombok官网有更详细的文档在官网上。安装lombok不仅需要在项目中添加jar包,还需要以插件的形式开启IDE的支持。如果你的项目是maven构建的,需要在pom.xml中添加如下依赖:org.projectlomboklombok1.16.10这里推荐使用bom的形式来管理pom依赖。比如Springio平台就包含了lombok的依赖管理。idea下lombok的安装比较简单。在插件中安装lombok插件即可。Eclipse会将lombok.jar复制到eclipse.ini所在文件夹的根目录下,编辑eclipse.ini,在末尾添加:-Xbootclasspath/a:lombok。jar-javaagent:lombok.jar重启其他IDE来增加对lombok的支持请看这里用法Lombok包含了很多注解,如果全部使用的话,确实可以简化很多代码。但是在实际项目中,我们往往只是在定义JavaBeans时才使用lombok,很少在业务代码中使用。因为lombok虽然可以简化代码,但是它的缺点也非常明显:降低代码的可读性难以调试大多数情况下,我们应该把代码的可读性放在编码考虑的首位。以下是我认为最常用的lombok注解:@Data@Setter/Getter@Log@NoArgsConstructor、@RequiredArgsConstructor和@AllArgsConstructor@Builder@Log以及一系列相关注解(如@Log4j、@Slf4j)是我的最喜欢的注解,不用写一堆getLogger。而@Builder也很方便,足以应对简单的Builder模式。总结Lombok是一个非常好用的工具,可以帮助我们简化很多臃肿冗长的代码,但是它也有它的局限性。建议在定义JavaBeans时使用它。