Lombok怎么在SpringBoot 2. x中使用?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
<代码> Lombok> 代码是一个编译级别的插件,它可以在项目编译的时候生成一些代码,比如日常开发过程中需要生产大量的<代码> JavaBean 代码>文件,每个<代码> JavaBean> 代码都需要提供大量的<代码>得到代码>和<代码>设置> 代码方法,如果字段较多且发生变动的话修改起来相对繁琐,相应的<代码> Lombok> 代码可以通过注解<代码> (@ getter, @ setter)> 代码为我们省去手动创建<代码> getter 代码>和<代码> setter代码>方法的麻烦,它能够在我们编译源码的时候自动帮我们生成<代码> getter 代码>和<代码> setter代码>方法。
即它最终能够达到的效果是:在源码中没有<代码> getter 代码>和<代码> setter代码>方法,但是在编译生成的字节码文件中有<代码> getter 代码>和<代码> setter代码>方法。
<强>安装Lombok插件强>
添加注解支持
<强>添加依赖强>
buildscript { ,ext { 时间=springBootVersion 才能;& # 39;2.0.2.RELEASE& # 39; ,} ,repositories { mavenCentral才能() ,} ,dependencies { 类路径才能(“org.springframework.boot: spring-boot-gradle-plugin: $ {springBootVersion}“) ,} } apply 插件:& # 39;java # 39; apply 插件:& # 39;eclipse # 39; apply 插件:& # 39;org.springframework.boot& # 39; apply 插件:& # 39;io.spring.dependency-management& # 39; 时间=group & # 39; com.yanjun& # 39; 时间=version & # 39; 0.0.1-SNAPSHOT& # 39; sourceCompatibility 1.8=, repositories { ,mavenCentral () } dependencies { ,编译(& # 39;org.springframework.boot: spring-boot-starter& # 39;, ,,& # 39;org.springframework.boot: spring-boot-starter-web& # 39; ,) ,//添加lombok依赖 ,compile & # 39; org.projectlombok: lombok: 1.18.0& # 39; }
常用注解
- <李>
@ data注解在类上,提供类所有属性的获取和设置方法,此外还提供了等于,canEqual, hashCode、toString方法
李> <李>@ setter:注解在属性上;为属性提供设置方法
李> <李>@ setter:注解在属性上;为属性提供了方法
李> <李>@Log4j:注解在类上;为类提供一个属性名为日志的log4j日志对象
李> <李>@NoArgsConstructor:注解在类上;为类提供一个无参的构造方法
李> <李>@AllArgsConstructor:注解在类上;为类提供一个全参的构造方法
李> <李>@Cleanup:可以关闭流
李> <李>@Builder:被注解的类加个构造者模式
李> <李>@ synchronized:加个同步锁
李> <李>@SneakyThrows:等同于try/catch捕获异常
李> <李>@NonNull:如果给参数加个这个注解参数为零会抛出空指针异常
李> <李> @ value:注解和@ data类似,区别在于它会把所有成员变量默认定义为私人最终修饰,并且不会生成集方法。
@NonNull判空处理
package com.yanjun.mybatis.bean; import lombok.Data; import lombok.NoArgsConstructor; import lombok.NonNull; @ data @NoArgsConstructor public class  User { ,public Integer 年龄; ,@NonNull ,public String 名称; }
相当于
package com.yanjun.mybatis.bean; import lombok.NonNull; public class  User { ,public Integer 年龄; ,@NonNull ,public String 名称; ,public Integer  getAge (), { return 才能;this.age; ,} ,@NonNull ,public String  getName (), { return 才能;this.name; ,} ,public void  setAge (Integer 年龄),{ 时间=this.age 才能;年龄; ,} ,public void  setName (@NonNull String 名称),{ if 才能;(name ==, null), { ,,throw new  NullPointerException (“name  is marked @NonNull but is null"); ,,},{else ,,this.name =,名称; ,,} ,} }Lombok怎么在SpringBoot 2. x中使用