为何要使用Lombok?
lombok这个是第三方的插件包,最近接触以后发现这个插件包非常好用,可以避免编写时很多臃肿的代码,虽然IDE/Eclipse都能通过快捷键的方式来生成Getter and Setter 快速生成Get/Set方法,但是如果是用来lombok之后,一切都是自动的,只需要在Mode层加上@Data注解。
1.简化冗余的JavaBean代码,使得实体文件很简洁。
2.大大提高JavaBean中方法的执行效率,省去重复的步骤。
Lombok简介:
官方地址:https://projectlombok.org/
github地址:https://github.com/rzwitserloot/lombok
Lombok使用:
添加Maven依赖:
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.2</version>
</dependency>
常用注解:
-
@Getter /
@Setter:可以作用在类上和属性上,放在类上,会对所有的非静态(non-static)属性生成Getter/Setter方法,放在属性上,会对该属性生成Getter/Setter方法。并可以指定Getter/Setter方法的访问级别。 -
@EqualsAndHashCode
:默认情况下,会使用所有非瞬态(non-transient)和非静态(non-static)字段来生成equals和hascode方法,也可以指定具体使用哪些属性。
@ToString 生成toString方法,默认情况下,会输出类名、所有属性,属性会按照顺序输出,以逗号分割。 -
@NoArgsConstructor/@AllArgsConstructor:无参构造器/全参构造器
-
@Data:包含@ToString, @EqualsAndHashCode, 所有属性的@Getter,
所有non-final属性的@Setter和@RequiredArgsConstructor的组合,通常情况下,基本上使用这个注解就足够了。 -
@Budilder:可以进行Builder方式初始化。
-
@Slf4j:等同于:private final Logger logger = LoggerFactory.getLogger(XXX.class);简直不能更爽了!一般上用在其他java类上
-
@Accessors(chain = true):若chain 为true,则setter方法返回当前对象。若fluent 为true,则getter和setter方法的方法名都是属性名,且setter方法返回当前对象。若prefix 设置值,则getter和setter方法会忽视属性名的指定前缀(遵守驼峰命名)。