整合Lombok基础组件(补充介绍)

1 Lombok简介

Lombok 是一个 Java 库,可以通过在代码中添加注解来消除模板代码,以简化 Java 代码的编写过程;

Lombok 支持自动生成 getter、setter、toString等方法,减少了重复性的开发工作。

2 安装和配置 Lombok

  • pom.xml中引入 Lombok 的依赖并刷新Maven

    <!--引入Lombok依赖-->
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
    </dependency>
    
  • 在Idea中确认是否安装Lombok 插件

    • 引入 Lombok 的依赖是让编译器能够找到 Lombok 提供的注解并对其进行处理,但是这不足以让 IDE 可以正常地识别和支持 Lombok 的注解。

    • 为了在 IDE 中正常地使用 Lombok,需要安装 IDE 插件来支持 Lombok 的注解。插件会将 Lombok 的注解转换为相应的代码,以便能够在 IDE 中正确地显示代码提示等功能。

    • 所以,为了使 Lombok 的注解在 IDE 中正常运行,需要同时引入 Lombok 的依赖并安装对应的 IDE 插件。

      在这里插入图片描述

    如果没有安装请安装此插件

    1. 打开 IntelliJ IDEA,点击 File -> Settings -> Plugins。

    2. 在搜索框中输入 lombok,并点击搜索按钮。

    3. 选择 Lombok 插件,点击 Install 按钮进行安装。

      在这里插入图片描述

    4. 安装完成后,弹出提示框,一般会提示重启 IntelliJ IDEA 以激活 Lombok 插件。点击 Restart IntelliJ IDEA 按钮进行重启。

    5. 重启后,即可使用 Lombok 注解。

3 Lombok常用注解

Lombok 提供了许多注解,每个注解用来生成特定的代码块。下面是一些常用的注解:

3.1 @Getter@Setter

用来生成 getter 和 setter 方法。

@Getter
@Setter
public class Student {
    private String name;
    private int age;
}

这将自动生成 getName(), setName(), getAge(), setAge() 方法。

3.2 @ToString

用来生成 toString 方法。

@ToString
public class Student {
    private String name;
    private int age;
}

这将自动生成 toString() 方法。

3.3 @AllArgsConstructor@NoArgsConstructor

用来生成带参数的和无参的构造函数。

@AllArgsConstructor
@NoArgsConstructor
public class Student {
    private String name;
    private int age;
}

这将自动生成一个有参构造函数和一个无参构造函数。

3.4 @Data

是一个组合的注解,它等价于同时使用了 @Getter@Setter@ToString 注解。

@Data
public class Student {
    private String name;
    private int age;
}

这将自动生成 getName(), setName(), getAge(), setAge()以及 toString() 方法。

4 @Slf4j 日志注解

@Slf4j 是 lombok 中的注解;

此注解描述类时会在类中创建一个日志对象,基于日志对象可以输出一些日志。

4.1 使用方法

在需要使用日志的类上加上 @Slf4j 注解即可。

  • log.debug("日志信息")
  • log.info("日志信息")

示例:

@Slf4j
public class MyClass{
    public void myMethod(){
        log.info("myMethod方法被执行");
    }
}

在上述代码中, @Slf4j 注解被加在了 MyClass 类上。这样就可以在 MyClass 中直接使用 log 对象输出日志了。

4.2 日志级别

日志级别:TRACE<DEBUG<INFO<WARN<ERROR

  • TRACE

    追踪级别;

    用于跟踪代码执行的详细信息。通常用于调试阶段,用于输出一些详细的调试信息,对性能影响较大;

  • DEBUG

    调试级别;

    用于输出调试信息,帮助开发人员诊断问题。通常用于开发和测试阶段,例如输出方法的输入参数和返回值;

  • INFO(默认的级别

    普通信息级别;

    用于输出程序的一般运行信息。通常用于生产环境,记录程序运行的关键信息,如系统启动、关键操作完成等;

  • WARN

    警告级别;

    用于输出警告信息。通常用于发现一些可能的问题或不正常的情况,但不会影响程序的正常运行;

  • ERROR

    错误级别;

    用于输出错误信息。通常用于记录程序的错误信息、异常信息,表示程序出现了严重的问题,无法正常运行

注意:在 @Slf4j 注解中,应根据不同的应用场景和需求,可以选择适当的日志级别。

在开发和测试阶段,可以将日志级别设置为DEBUG,以便获取详细的调试信息。

而在生产环境中,一般将日志级别设置为INFO或更高级别。

4.3 设置日志级别

@Slf4j 注解默认的日志级别为 INFO,即只会输出 INFO级别 以及 比INFO日志级别更高级别的日志信息,如需配置则需要在配置文件 application.properties 配置文件中进行配置

# 设置日志级别为WARN
logging.level.root=WARN

# 将com.example包及其包中的所有类的日志级别设置为DEBUG级别
logging.level.com.example=DEBUG
4.4 @Slf4j 注解优点

使用 @Slf4j 注解相比 System.out.println("xxx") 的好处

  • 更加高效

    使用 @Slf4j 注解输出日志,可以避免产生大量的无用日志信息,减少对内存和磁盘等资源的消耗。

    而使用 System.out.println() 会产生大量冗余的输出信息,不仅对调试造成困扰,而且会对应用程序的性能产生影响。

  • 日志级别更加明确

    使用 @Slf4j 注解,可以根据需要输出不同级别的日志,例如,警告、错误等。通过灵活控制日志输出的级别,可以及时发现并解决问题。

    而使用 System.out.println() 输出的日志级别是不可控的,并且无法选择性地过滤日志。

5 微博项目优化

  • @Data 注解优化微博项目

    在微博项目的所有pojo类中添加 @data 注解,将原来的 setter() getter() toString() 方法都去掉;

    重启工程后测试项目功能是否能够成功执行。

  • @Slf4j 注解优化微博项目

    在微博项目中将打印调试的代码,使用 @Slf4j 注解完成调试,在配置文件 application.properties 中设置日志级别。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值