蕩漾

爱欲之人犹如执炬逆行,必有灼手之患

0%

Lombok依赖介绍

Lombok能以简单的注解形式来简化java代码,提高开发人员的开发效率。例如开发中经常需要写的javabean,都需要花时间去添加相应的getter/setter,也许还要去写构造器、equals等方法,而且需要维护,当属性多时会出现大量的getter/setter方法,这些显得很冗长也没有太多技术含量,一旦修改属性,就容易出现忘记修改对应方法的失误。

Lombok能通过注解的方式,在编译时自动为属性生成构造器、getter/setter、equals、hashcode、toString方法。出现的神奇就是在源码中没有getter和setter方法,但是在编译生成的字节码文件中有getter和setter方法。这样就省去了手动重建这些代码的麻烦,使代码看起来更简洁些。

导入方式
1
2
3
4
5
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.20</version>
</dependency>

Lombok主要常用的注解有:@Data,@Getter,@Setter,@NoArgsConstructor,@AllArgsConstructor,@ToString,@EqualsAndHashCode,@Slf4j,@Log4j

@Data注解:在JavaBean中使用,这个注解包含范围最广,它包含getter、setter、toString、equals、hashCode方法,即当使用当前注解时,会自动生成@Data包含的所有方法;
@getter注解:在JavaBean中使用,使用此注解会生成对应的getter方法;
@setter注解:在JavaBean中使用,使用此注解会生成对应的setter方法;
@NoArgsConstructor注解:在JavaBean中使用,使用此注解会生成对应的无参构造方法;
@AllArgsConstructor注解:在JavaBean中使用,使用此注解会生成对应的有参构造方法;
@ToString注解:在JavaBean中使用,使用此注解会自动重写对应的toStirng方法;
@EqualsAndHashCode注解:在JavaBean中使用,使用此注解会自动重写对应的equals方法和hashCode方法;
@Slf4j:在需要打印日志的类中使用,当项目中使用了slf4j打印日志框架时使用该注解,会简化日志的打印流程,只需调用info方法即可;
@Log4j:在需要打印日志的类中使用,当项目中使用了log4j打印日志框架时使用该注解,会简化日志的打印流程,只需调用info方法即可;
在使用以上注解需要处理参数时,处理方法如下(以@ToString注解为例,其他注解同@ToString注解):

@ToString(exclude=“column”)
意义:排除column列所对应的元素,即在生成toString方法时不包含column参数;

@ToString(exclude={“column1”,“column2”})
意义:排除多个column列所对应的元素,其中间用英文状态下的逗号进行分割,即在生成toString方法时不包含多个column参数;

@ToString(of=“column”)
意义:只生成包含column列所对应的元素的参数的toString方法,即在生成toString方法时只包含column参数;

@ToString(of={“column1”,“column2”})
意义:只生成包含多个column列所对应的元素的参数的toString方法,其中间用英文状态下的逗号进行分割,即在生成toString方法时只包含多个column参数;

-EOF-