Lombok简介
Lombok 是一个 Java 库,可以通过在代码中添加注解来消除模板代码,以简化 Java 代码的编写过程;
Lombok 支持自动生成 getter、setter、toString等方法,减少了重复性的开发工作。
安装和配置
1、在创建项目时手动选择添加Lombok依赖
2、如果已经创建完项目要在pom.xml中引入 Lombok的依赖并刷新Maven
<!--引入Lombok依赖-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
3、在Idea中确认是否安装Lombok插件
引入 Lombok 的依赖是让编译器能够找到 Lombok 提供的注解并对其进行处理,但是这不足以让 IDE 可以正常地识别和支持 Lombok 的注解。
为了在 IDE 中正常地使用 Lombok,需要安装 IDE 插件来支持 Lombok 的注解。插件会将 Lombok 的注解转换为相应的代码,以便能够在 IDE 中正确地显示代码提示等功能。
所以,为了使 Lombok 的注解在 IDE 中正常运行,需要同时引入 Lombok 的依赖并安装对应的 IDE 插件。
Lombok常用注解
Lombok 提供了许多注解,每个注解用来生成特定的代码块。
@Getter和@Seter
用来生成 getter 和 setter 方法。
@Tostring
用来生成 toString 方法。
@Data
是一个组合的注解,它等价于同时使用了 @Getter、@Setter、@ToString 注解。
@AllArgsConstructor 和 @NoArgsConstructor
这将自动生成一个有参构造函数和一个无参构造函数。
@SIf4j
@Slf4j是 lombok 中的注解
此注解描述类时会在类中创建一个日志对象,基于日志对象可以输出一些日志。
使用方法
在需要使用日志的类上加上@Slf4j 注解即可。
log.info("日志信息")
日志级别
TRACE<DEBUG<INFO<WARN<ERROR
TRACE(追踪级别)
用于跟踪代码执行的详细信息。通常用于调试阶段,用于输出一些详细的调试信息,对性能影响较大;
DEBUG(调试级别)
用于输出调试信息,帮助开发人员诊断问题。通常用于开发和测试阶段,例如输出方法的输入参数和返回值;
INFO(普通信息级别)(默认的级别)
用于输出程序的一般运行信息。通常用于**生产环境**,记录程序运行的关键信息,如系统启动、关键操作完成等;
WARN(警告级别)
用于输出警告信息。通常用于发现一些可能的问题或不正常的情况,但不会影响程序的正常运行;
ERROR(错误级别)
用于输出错误信息。通常用于记录程序的错误信息、异常信息,表示程序出现了严重的问题,无法正常运行
设置日志级别
@Slf4j注解默认的日志级别为 INFO,即只会输出 INFO级别 以及 比INFO日志级别更高级别的日志信息,如需配置则需要在配置文件 application.properties配置文件中进行配置
# 设置日志级别为WARN
logging.level.root=WARN
# 将cn.tedu包及其包中的所有类的日志级别设置为DEBUG级别
logging.level.cn.tedu=DEBUG
@Slf4j注解优点
使用 @Slf4j注解相比 System.out.println("xxx") 的好处
1、更加高效
使用@Slf4j注解输出日志,可以避免产生大量的无用日志信息,减少对内存和磁盘等资源的消耗。
而使用System.out.println()会产生大量冗余的输出信息,不仅对调试造成困扰,而且会对应用程序的性能产生影响。
2、日志级别更加明确
使用@Slf4j注解,可以根据需要输出不同级别的日志,例如,警告、错误等。通过灵活控制日志输出的级别,可以及时发现并解决问题。
而使用System.out.println()输出的日志级别是不可控的,并且无法选择性地过滤日志。