SpringBoot图文并茂讲解Lombok库的安装与使用

目录
  • 1.相关介绍
  • 2.安装步骤
    • 1.添加依赖
    • 2.安装插件
    • 3.使用注解

1.相关介绍

Lombok是一个通过注解以达到减少代码的Java库,如通过注解的方式减少get,set方法,构造方法等, 同时可以自动化日志变量。

2.安装步骤

1.添加依赖

在pom.xml中添加lombok的依赖

        <!--lombok依赖-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>

2.安装插件

IDEA中 File->Settings->Plugins,搜索安装Lombok插件。

安装完成,重启IDEA

如果编译时出错,可能是没有enable注解处理器。Annotation Processors > Enable annotation processing。设置完成之后程序正常运行(记得设置完成重启一下IDEA)。

3.使用注解

Lombok注解文档: https://projectlombok.org/features/all

Lombok提供注解方式来提高代码的简洁性,常用注解有:

注解 作用
@Data 注解在类,生成setter/getter、equals、canEqual、hashCode、toString方法,如为final属性,则不会为该属性生成setter方法。
@Setter 注解在类或字段,注解在类时为所有字段生成setter方法,注解在字段上时只为该字段生成setter方法。
@Getter 使用方法同上,区别在于生成的是getter方法。
@AllArgsConstructor 注解在类,生成包含类中所有字段的构造方法。
@NoArgsConstructor 注解在类,生成无参的构造方法。
@ToString 注解在类,添加toString方法。
@NonNull 这个注解可以用在成员方法或者构造方法的参数前面,会自动产生一个关于此参数的非空检查,如果参数为空,则抛出一个空指针异常。
@EqualsAndHashCode 注解在类,生成hashCode和equals方法。
@Log 这个注解用在类上,可以省去从日志工厂生成日志对象这一步,直接进行日志记录,具体注解根据日志工具的不同而不同,同时,可以在注解中使用topic来指定生成log对象时的类名。不同的日志注解总结如下(上面是注解,下面是实际作用):
@CommonsLog
private static final org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory.getLog(LogExample.class);
@JBossLog
private static final org.jboss.logging.Logger log = org.jboss.logging.Logger.getLogger(LogExample.class);
@Log
private static final java.util.logging.Logger log = java.util.logging.Logger.getLogger(LogExample.class.getName());
@Log4j
private static final org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger(LogExample.class);
@Log4j2
private static final org.apache.logging.log4j.Logger log = org.apache.logging.log4j.LogManager.getLogger(LogExample.class);
@Slf4j
private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(LogExample.class);
@XSlf4j
private static final org.slf4j.ext.XLogger log = org.slf4j.ext.XLoggerFactory.getXLogger(LogExample.class);

下面演示几个注解的使用

使用注解前

User

package com.limi.entity;
public class User {
    private Integer id;
    private String userName;
    private String passWord;
    public User(){}
    public User(Integer id, String userName, String passWord) {
        this.id = id;
        this.userName = userName;
        this.passWord = passWord;
    }
    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", userName='" + userName + '\'' +
                ", passWord='" + passWord + '\'' +
                '}';
    }
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getUserName() {
        return userName;
    }
    public void setUserName(String userName) {
        this.userName = userName;
    }
    public String getPassWord() {
        return passWord;
    }
    public void setPassWord(String passWord) {
        this.passWord = passWord;
    }
}

使用注解, 效果和上面一致, 大大减少了代码量

User

package com.limi.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
    private Integer id;
    private String userName;
    private String passWord;
}

测试

package com.limi;
import com.limi.entity.User;
import lombok.extern.log4j.Log4j2;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@Log4j2
@SpringBootApplication
public class MainApplication {
    public static void main(String[] args) {
        SpringApplication.run(MainApplication.class, args);
        User user = new User(1, "andy", "123456");
        log.info(user); //使用Lombok的@Log4j2注解, 可以直接使用log
    }
}

到此这篇关于SpringBoot图文并茂讲解Lombok库的安装与使用的文章就介绍到这了,更多相关SpringBoot Lombok库内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • SpringBoot 开发提速神器 Lombok+MybatisPlus+SwaggerUI

    导读 Lombok:可以让你的POJO代码特别简洁,不止简单在BO/VO/DTO/DO等大量使用,还有设计模式,对象对比等 MybatisPlus:增加版Mybatis,基础的数据库CRUD.分页等可以直接生成使用,避免了大量的重复低效代码,还有数据库自动Java类,sql文件等等,比传统的更贱简介易用 SwaggerUI:接口文档自动生成,对接前端和测试更加方便,基于业界的OpennApi规范,采用Swagger3.x版本. 技术栈 SpringBoot2.4+ MybatisPlus+Lom

  • Springboot 集成 lombok.jar过程解析

    这篇文章主要介绍了Springboot 集成 lombok.jar过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 介绍 Spring Boot是非常高效的开发框架,lombok是一套代码模板解决方案,将极大提升开发的效率,这里介绍给大家使用. Lombok想要解决了的是在我们实体Bean中大量的Getter/Setter方法,以及toString, hashCode等可能不会用到,但是某些时候仍然需要复写,以期方便使用的方法:在使用Lo

  • Springboot中使用lombok的@Data注解方式

    目录 Springboot 使用lombok的@Data注解 idea安装lombok插件 创建项目,编写实体类 编写测试类 测试结果 springBoot 注解@Data注入失败 一.Files--Seetings--Plugins 二.如果重启后仍注入失败 Springboot 使用lombok的@Data注解 idea安装lombok插件 点击setting,选择plugins,搜索lombok安装即可. 创建项目,编写实体类 安装好插件后需要重启idea,然后创建一个springboot

  • SpringBoot使用LomBok的示例代码

    Lombok是什么?它是一个能帮我们消除那些必须要写但是重复的代码,比如setter,getter,构造函数之类的方法. 首先先简单说一下idea安装lombok,有2种方法: 1.直接从http://plugins.jetbrains.com/下载,然后放到idea安装文件下面的plugins,然后重启idea 2.在idea的settings(windows)或者Preferences(mac),下找到plugins菜单,点击Browse repositories,如图 然后搜索lombok

  • SpringBoot配置lombok与logback过程解析

    一 什么是lombok 在写Java程序的时候经常会遇到如下情形:新建了一个Class类,然后在其中设置了几个字段,最后还需要花费很多时间来建立getter,setter方法还有构造函数等 . lombok项目的产生就是为了省去我们手动创建getter和setter方法的麻烦,它能够在我们编译源码的时候自动帮我们生成getter和setter方法. 即它最终能够达到的效果是:在源码中没有getter和setter方法,但是在编译生成的字节码文件中有getter和setter方法. 二 lombo

  • 在SpringBoot中使用lombok的注意事项

    目录 Lombok需求 Lombok的使用 开发工具无论是idea还是eclipse都必须要安装插件 在项目中依赖Lombok如下 简化javabean 证明lombok在编译以后会自动生成 Lombok其他的注解 lombok插件使用和lombok不起作用的解决 @Data不起作用解决法方法 Lombok需求 在传统的开发过程中,一个javabean开发非常琐碎和麻烦,如下: package com.example.entity; public class User { // 用户编号 pri

  • SpringBoot工程下Lombok的应用教程详解

    背景分析 在实际的java项目中我们创建的所有pojo类几乎都要为属性添加set/get/toString等相关方法,所有的日志记录相关类可能都要创建日志等对象,这些样板代码既没有技术含量,又影响着代码的美观,同时重复的编码过程会在无形中加大我们的工作量. 此时Lombok应运而生. lombok简介 概述 Lombok是一个第三方的Java库,它会自动插入编辑器和构建工具中,Lombok提供了一组有用的注释,用来告诉编译过程中的编译工具,在源代码编译成字节码的过程中,在字节码中添加一些量样板代

  • SpringBoot整合Lombok及常见问题解决

    目录 Lombok 2. Lombok注解失效原因 整合过程 1. 引入Lombok依赖: 2. 安装Lombok插件 优点与缺点(可能出现的问题即解决方法) Lombok Lombok能以简单的注解形式来简化java代码,从而提高开发人员的开发效率.其本身是一个优秀的Java代码库,它采用了一种投机取巧的语法糖,简化了Java的编码,为Java代码的精简提供了一种方式,但Lombok并非一个标准的Java库. 在web开发过程中经常需要写的Java类,都需要花时间去添加相应的getter/se

  • SpringBoot图文并茂讲解Lombok库的安装与使用

    目录 1.相关介绍 2.安装步骤 1.添加依赖 2.安装插件 3.使用注解 1.相关介绍 Lombok是一个通过注解以达到减少代码的Java库,如通过注解的方式减少get,set方法,构造方法等, 同时可以自动化日志变量. 2.安装步骤 1.添加依赖 在pom.xml中添加lombok的依赖 <!--lombok依赖--> <dependency> <groupId>org.projectlombok</groupId> <artifactId>

  • SpringBoot图文并茂讲解登录拦截器

    目录 1.相关概念 1.实现效果 2.实现步骤 2.代码实现 1.配置文件 2.java代码 3.前端代码 3.运行测试 1.相关概念 1.实现效果 当没有输入正确的账号密码登录成功时, 除了登录页,其他页面都无法访问(静态资源要放行) 2.实现步骤 编写一个拦截器实现HandlerInterceptor接口 拦截器注册到容器中(实现WebMvcConfigurer的addInterceptors()) 指定拦截规则(注意,如果是拦截所有,静态资源也会被拦截) 2.代码实现 1.配置文件 pom

  • SpringBoot图文并茂讲解依赖管理的特性

    目录 1.父依赖parent介绍 2.修改默认版本号 3.starter场景启动器 1.父依赖parent介绍 pom文件中含有父依赖 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.4.RELEASE</version> </pa

  • springBoot详细讲解使用mybaties案例

    首先创建springBoot项目,jdk选择1.8 然后倒入mybaties的相关依赖 我们用的springBoot,当然spring全家桶里面含有mybaties,所以我们直接使用升级版的mybaties-plus. 引入这3个 lombok省的我每次创建对象,都需要get.set方法,以及toString (IDEA里面也要安装lombok插件->file->setting->plugin->搜索lombok安装,完后重启idea,这样lombok在idea中不报错) myba

  • Python BS4库的安装与使用详解

    Beautiful Soup 库一般被称为bs4库,支持Python3,是我们写爬虫非常好的第三方库.因用起来十分的简便流畅.所以也被人叫做"美味汤".目前bs4库的最新版本是4.60.下文会介绍该库的最基本的使用,具体详细的细节还是要看:[官方文档](Beautiful Soup Documentation) bs4库的安装 Python的强大之处就在于他作为一个开源的语言,有着许多的开发者为之开发第三方库,这样我们开发者在想要实现某一个功能的时候,只要专心实现特定的功能,其他细节与

  • idea 在springboot中使用lombok插件的方法

    在idea中添加lombok插件 选择 file-->setting--->plugins  搜索lombok  并安装插件后重启idea 使用Lombok 在pom.xml中引入依赖 <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.10</version> <s

  • Springboot实例讲解实现宠物医院管理系统流程

    项目编号:BS-XX-098 本系统前台面向的用户是客户,客户可以进行预约.浏览医院发布的文章.进入医院商城为宠物购物.如有疑问可以向官方留言.还可以查看关于自己的所有记录信息,如:看病记录.预约记录.疫苗注射记录等.后台面向的用户是医院人员,系统管理员拥有最高权限,可以对所有数据进行管理,为所有的角色分配权限以及创建角色:业务管理员的权限主要是对一些常用数据的维护:医生可以接受客户发布的预约医生的预约单以及处理属于自己的预约单,回答客户的问诊:美容师可以接受客户发布的预约美容的预约单以及处理属

  • SpringBoot详细讲解yaml配置文件的用法

    目录 1.基本语法 2.数据类型 3.代码测试 4.开启补全提示 1.基本语法 key: value:kv之间有空格 大小写敏感 使用缩进表示层级关系 缩进不允许使用tab,只允许空格 缩进的空格数不重要,只要相同层级的元素左对齐即可 '#'表示注释 字符串无需加引号,如果要加,单引号’'.双引号""表示字符串内容会被 转义.不转义 2.数据类型 1.字面量:单个的.不可再分的值.date.boolean.string.number.null k: v 2.对象:键值对的集合.map.

  • SpringBoot详细讲解日志文件

    目录 1 日志的功能是什么? 2 如何自定义日志打印 2.1 在程序中获取日志对象 2.2 调用日志对象打印日志 2.3 查看日志打印的结果 3 日志的级别 3.1 日志级别的分类 3.2 日志级别的设置 4 日志持久化 5 更简单的日志输出 5.1 添加 lombok 依赖 5.2 输出日志 5.3 lombok 更多的注解 1 日志的功能是什么? 如果程序报错了, 却不能从控制台查看日志, 那么就不知道错误的原因了. 日志的功能 : 快速的排查和定位问题 记录用户登录的日志 记录系统的操作日

随机推荐