Lombok怎么在java中使用

  

Lombok怎么在java中使用?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

<强> Lombok是什么?

Lombok是一个通过注解以达到减少代码的java库,如通过注解的方式减少,设置方法,构造方法等。

<>强如何安装Lombok ?

如何安装使用Lombok呢?

<强>方法一

通过向自由文件夹中添加lombok.jar包即可,

<强>方法二

如果使用的是Maven,则可在项目的砰的一声。xml文件中添加以下依赖:

& lt; dependency>   & lt; groupId> org.projectlombok   & lt; artifactId> lombok   & lt; version> 1.16.12   & lt;/dependency>

通过以上两种方法的确可以使用Lombok的相关API了,但无论是Intelij想法,还是Eclipse默认情况下是不能识别的,我们还要让想法识别起来。
Intellij idea方法:

文件→设置→插件→浏览存储库→Lombok

<>强如何使用Lombok吗?

Lombok提供注解方式来提高代码的简洁性,常用注解有:

<李>

@ data <李>

@ setter @ getter

<李>

@NonNull

<李>

@ synchronized

<李>

@ToString

<李>

@EqualsAndHashCode

<李>

@Cleanup

<李>

@SneakyThrows

下面分别介绍每个方法的作用以及对应的源代码@ data

该注解相当于同时加上以下注解@ setter @ getter, @ToString, @EqualsAndHashCode,作用于类中使用:

/* *   *,作者:安迪   *,日期:17-4-22   *,博客:www.andyqian.com   */@ data   public  class  Person  {   private  String 名称;   private  String 地址;   private  String 城市;   private  String 状态;   private  String 拉链;   private  Date 生日;   }

效果如下:

<强> @Getter@Setter

作用于属性上,自动生成,集方法。

/* *
  *,作者:安迪
  *,日期:17-4-22
  *,博客:www.andyqian.com
  */public  class  Person  {
  @Getter@Setter
  private  String 名称;
  }

等价源码:

public  String  getName (), {   return 名称;   }   public  void  setName (String 名称),{   this.name =,名称;   }

<>强@NonNull

该注解快速判断是否为空,如果为空,则抛出. lang。NullPointerException
使用方法:

/* *   *,作者:安迪   *,日期:17-4-22   *,博客:www.andyqian.com   */public  class  Person  {   private  String 名称;   @Setter@Getter@NonNull   private  List< Person>,成员;   }

源码:

@NonNull   private  List< Person>,成员;   public 家庭(@NonNull  final  List< Person>,成员),{   if  (members ==, null), throw  new  java.lang.NullPointerException (“members");   时间=this.members 成员;   }   @NonNull   public  List< Person>, getMembers (), {   return 成员;   }   public  void  setMembers (@NonNull  final  List,成员),{   if  (members ==, null), throw  new  java.lang.NullPointerException (“members");   时间=this.members 成员;   }

<强> @ synchronized

该注解自动添加到同步机制,有趣的是,生成的代码并不是直接锁方法,而是锁代码块,作用范围是方法上
使用方法:

private  DateFormat  format =, new  SimpleDateFormat (“MM-dd-YYYY");   @ synchronized   public  String  synchronizedFormat (Date 日期),{   return  format.format(日期);   }

生成等价源码:

private  final  java.lang.Object  lock 美元;=,new  java . lang . object [0];   时间=private  DateFormat  format  new  SimpleDateFormat (“MM-dd-YYYY");   public  String  synchronizedFormat (Date 日期),{   synchronized (锁),{   return  format.format(日期);   }   }

<>强@ToString

该方法大家应该非常熟悉,但需要注意的是:@ToString有多个属性可以进一步设置:

Lombok怎么在java中使用