目录
百战程序员,全站22050+开发课程+文档 ,学习精选优质好课快人一步!观看视频 快捷键ALT+N

JAVA全系列 教程

3762个小节阅读:7095.6k

收藏
全部开发者教程

C语言快速入门

JAVA全系列 教程

面向对象的程序设计语言

Python全系列 教程

Python3.x版本,未来主流的版本

人工智能 教程

顺势而为,AI创新未来

大厂算法 教程

算法,程序员自我提升必经之路

C++ 教程

一门通用计算机编程语言

微服务 教程

目前业界流行的框架组合

web前端全系列 教程

通向WEB技术世界的钥匙

大数据全系列 教程

站在云端操控万千数据

AIGC全能工具班

A

A A

White Night

阅读(579)
赞(0)

十一、Lombok

在上面的课程讲解过程中,每次修改类的属性,都需要重新生成Getter/Setter方法及toString()方法。我们可以借助Lombok来简化代码。

1 环境准备

下载Lombok插件

IDEA 2022.3.2 默认集成Lombok插件,不需要单独下载。而且Lombok插件是不允许被卸载的。

image-20230317150642829

启用注解处理

不启用注解处理,也能正常出结果。只是在第一次启动后,会在IDEA右下角提示,请启用注解处理。

image-20230317150253015

IDEA菜单 File -> Settings

image-20230317151122496

2. @Data

Lombok支持的注解比较多,可以从Lombok插件看到所有支持的注解。

image-20230317153156286

我们挑选出一些常用的注解,先来看看@Data注解

在类上添加@Data注解

测试生成的方法

可以使用属性的getter/setter方法。并且进入equals和hashCode()和toString()时是进入到Person类。而去掉@Data注解时是进入到Object类中,说明@Data也生成equals()和hashCode()和toString()方法。

3. 构造方法处理

默认情况下使用无参构造方法。但是Lombok支持3个对构造方法处理的注解。这三个注解只要使用任意一个,将不会在有默认的无参构造方法

  • @NoArgsConstructor :生成无参数构造方法
  • @AllArgsConstructor:生成全参构造方法
  • @RequiredArgsConstructor:生成一个包含所有final和 @NonNull属性的构造方法。

4. Getter和Setter处理

@Getter和@Setter是类和属性注解。可以用在类上表示给所有属性都生成。如果用在某个属性上,表示只给这个属性生成。

  • @Getter 给属性生成getter方法
  • @Setter 给属性生成setter方法

5. @ToString

给类生成包含所有属性的toString()方法,除非属性上包含@ToString.Exclude

6. 日志注解

Lombok支持市面上绝大多数日志。只需要在项目中引入对应日志的依赖。然后就可以在类中直接使用log对象。

不同的日志类型区别也就是log对象的类型不同:

  • @Log 原生JDK日志。类型:java.util.logging.Logger
  • @Log4j apache的日志。类型:org.apache.log4j.Logger
  • @Log4j2 apache的日志。类型:org.apache.logging.log4j.Logger
  • @Slf4j 类型:org.slf4j.Logger
  • @XSlf4j 类型:org.slf4j.ext.XLogger
  • @CommonsLog apache的日志。类型:org.apache.commons.logging.Log
  • @JBossLog jboss的日志。类型:org.jboss.logging.Logger
  • @Flogger 谷歌的日志。类型:com.google.common.flogger.FluentLogger
  • @CustomLog 自定义日志。类型:自定义的日志类型。

使用时需要导入对应日志依赖。以log4j2举例。在项目中引入

在类中使用log对象(无论哪种日志类型),不再需要实例化。

 

北京市昌平区回龙观镇南店村综合商业楼2楼226室

©2014-2023 百战卓越(北京)科技有限公司 All Rights Reserved.

京ICP备14032124号-2