Lombok,一个神奇的存在

news/2024/7/5 2:12:30

1、概述

Lombok主要用于在编译POJO类源文件时通过注解的方式自动为该类生成构造方法、getter/setter、equals、hashcode、toString等方法,有效地简化了POJO类代码,提高了软件的开发速度。

2、安装

a、启动IntelliJ IDEA—>点击Ctrl+Alt+S快捷键,如图所示:

图片

b、点击Plugins节点—>搜索框输入lombok—>点击Install—>点击Apply—>点击OK。

c、重启IntelliJ IDEA;

3、配置

a、启动IntelliJ IDEA—>点击Ctrl+Alt+S快捷键,如图所示:

图片

b、点击“Build,Execution,Deployment”节点—>点击Compiler节点—>点击Annotation Processors节点—>选中上图红框复选框—>点击Apply—>点击OK。

4、依赖

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.20</version>
    <scope>provided</scope>
</dependency>

5、注解

@NoArgsConstructor:自动生成一个无参构造方法;

@AllArgsConstructor:自动生成一个含有所有成员变量的有参构造方法;

@Data:为所有成员变量生成getter方法、生成返回所有成员变量及其值得toString方法;为非final成员变量生成setter方法;

@Accessors(chain = true):setter方法返回当前对象以实现链式调用setter方法,如下示例:

@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public class Area {
    private String id;
    private String code;
    private String name;
    private String parentCode;
}

@Slf4j:仅用于修饰类,等效于private final Logger logger = LoggerFactory.getLogger(XXX.class),示例所示:

a、 jar包依赖

<dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>slf4j-log4j12</artifactId>
  <version>1.6.4</version>
</dependency>

b、log4j.properties文件

# DEBUG设置输出日志级别,由于为DEBUG,所以ERROR、WARN和INFO 级别日志信息也会显示出来
log4j.rootLogger=DEBUG,Console,RollingFile

#将日志信息输出到控制台
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern= [%-5p]-[%d{yyyy-MM-dd HH:mm:ss}] -%l -%m%n
#将日志信息输出到操作系统D盘根目录下的log.log文件中
log4j.appender.RollingFile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.RollingFile.File=D://log4j.log
log4j.appender.RollingFile.layout=org.apache.log4j.PatternLayout
log4j.appender.RollingFile.layout.ConversionPattern=%d [%t] %-5p %-40.40c %X{traceId}-%m%n

c、Java代码

import lombok.extern.slf4j.Slf4j;

@Slf4j
public class Test {
    public static void main(String[] args) {
        try {
            System.out.println(1 / 0);
        } catch (Exception e) {
            log.debug(e.getMessage(), e);
        }
    }
}

http://lihuaxi.xjx100.cn/news/1401934.html

相关文章

API接口给开发程序提供帮助,API接口应用价值

API可以用于开发使用相同数据的其他应用程序&#xff0c;比如公司&#xff0c;他们可以创建一个API &#xff0c;允许其他开发人员使用他们的数据并用其做其他事情&#xff0c;可以是 业务相关的 网站也可以是移动应用程序。 公司作为 信息的所有者&#xff0c; 便可以免费或收…

了解什么是PR

PR是Google排名算法的200多个因素之一&#xff0c;而且重要性已经下降很多。 当然&#xff0c;PR还是Google排名算法中的重要因素之一。除了直接影响排名&#xff0c;PR的重要性还体现以下几点。 &#xff08;1&#xff09;网站收录深度和总页面数。搜索引擎蜘蛛爬行时间及数…

华为交换机配置SSH远程登录

连接console线直接配置 1、在服务器端生成本地密钥对 <HUAWEI>system-view [HUAWEI] dsa local-key-pair create Info: The key name will be: HUAWEI_Host_DSA. Info: The key modulus can be any one of the following : 1024, 2048. Info: If the key modulus i…

【linux-网络】sslocal命令的安装使用

1.背景 需要ss转发&#xff0c;在linux中转发并登录。 2.操作流程&#xff1a; 1&#xff09;安装python 一般linux系统都自带python&#xff0c;2.7---如果要更高版本的自行安装 2&#xff09;使用pip安装ss pip install shadowsocks 3&#xff09;命令使用 sslocal -c …

NOI2023 打金记

Day -4 最后一场模拟赛&#xff0c;肯定要用力打啊&#xff01; 然而一题不会&#xff0c;呜呜呜。 于是开始拼暴力&#xff0c;写了 90 60 60 210 90 60 60 210 906060210&#xff0c;结果挂成 40 60 60 160 40 60 60 160 406060160。 T1 我将题目转化为&am…

11年编码经验程序员惨遭淘汰解雇,原因竟是不会使用AI工具

近日&#xff0c;Twitter 上一名技术人分享了一个事件&#xff0c;即拥有11年Java编码经验、会 100% 手写代码的程序员因拒绝使用辅助代码工具&#xff0c;只想写可控的代码&#xff0c;竟败给一位仅有4年经验、却善用编码工具的后辈&#xff0c;惨遭面试淘汰。 当「拒绝使用编…

item_get-小红薯-商品详情

一、接口参数说明&#xff1a; smallredbook.item_get&#xff0c;点击更多API调试&#xff0c;请移步注册API账号点击获取测试key和secret 公共参数 请求地址: https://api-gw.onebound.cn/smallredbook/item_get 名称类型必须描述keyString是调用key&#xff08;http://o0…

赶快卸载 Navicat和DataGrip吧,阿里又开源了一款数据库神器,太炸了

Chat2DB 是一款有开源免费的多数据库客户端工具&#xff0c;支持windows、mac本地安装&#xff0c;也支持服务器端部署&#xff0c;web网页访问。和传统的数据库客户端软件Navicat、DBeaver 相比Chat2DB集成了AIGC的能力&#xff0c;能够将自然语言转换为SQL&#xff0c;也可以…