广告
返回顶部
首页 > 资讯 > 后端开发 > Python >在SpringBoot中使用lombok的注意事项
  • 805
分享到

在SpringBoot中使用lombok的注意事项

2024-04-02 19:04:59 805人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录Lombok需求Lombok的使用开发工具无论是idea还是eclipse都必须要安装插件在项目中依赖Lombok如下简化javabean证明lombok在编译以后会自动生成Lo

Lombok需求

在传统的开发过程中,一个javabean开发非常琐碎和麻烦,如下:


package com.example.entity;
public class User {
    // 用户编号
    private Integer id;
    // 用户昵称
    private String nickname;
    // 用户密码
    private String passWord;
    // 用户头像
    private String avatar;
    // 用户地址
    private String aDDDress;
    public User() {
    }
    public User(Integer id, String nickname, String password, String avatar, String adddress) {
        this.id = id;
        this.nickname = nickname;
        this.password = password;
        this.avatar = avatar;
        this.adddress = adddress;
    }
    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", nickname='" + nickname + '\'' +
                ", password='" + password + '\'' +
                ", avatar='" + avatar + '\'' +
                ", adddress='" + adddress + '\'' +
                '}';
    }
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getNickname() {
        return nickname;
    }
    public void setNickname(String nickname) {
        this.nickname = nickname;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public String getAvatar() {
        return avatar;
    }
    public void setAvatar(String avatar) {
        this.avatar = avatar;
    }
    public String getAdddress() {
        return adddress;
    }
    public void setAdddress(String adddress) {
        this.adddress = adddress;
    }
}

你要生成

  • getter/setter
  • 无参构造函数
  • 有参构造函数
  • toString
  • hashcode

等等。

在开发中有一个利器:Lombok 可以解决和优化这个问题。

Lombok的使用

编写pojo时,经常需要编写构造函数和gettersetter方法,属性多的时候,非常浪费时间,使用lombok插件可以解决这个问题

开发工具无论是idea还是eclipse都必须要安装插件

以idea为例如下:

在这里插入图片描述

在项目中依赖Lombok如下


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

简化javabean


package com.example.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
@Data // getter/setter
@ToString // toString
@AllArgsConstructor // 有参构造函数
@NoArgsConstructor // 无参构造函数
public class User {
    // 用户编号
    private Integer id;
    // 用户昵称
    private String nickname;
    // 用户密码
    private String password;
    // 用户头像
    private String avatar;
    // 用户地址
    private String adddress;    
}

证明lombok在编译以后会自动生成

在这里插入图片描述

Lombok其他的注解

  • @Data:自动提供getter和setter、hashCode、equals、toString等方法
  • @Getter:自动提供getter方法
  • @Setter:自动提供setter方法
  • @ToString:生成toString方法
  • @NoArgsConstructor:自动生成无参数构造函数
  • @AllArgsConstructor:自动生成全参数构造函数
  • @Builder:可以实现属性连续赋值
  • @Accessors @Accessors批注用于配置lombok如何生成和查找getter和setter。标注到类上,chain属性设置为true时,类的所有属性的setter方法返回值将为this,用来支持setter方法的链式写法
  • @Slf4j and @Log4j:自动在bean中提供log变量,在需要打印日志的类中使用,项目中使用slf4j、log4j日志框架
  • @NonNull:这个注解可以用在成员方法或者构造方法的参数前面,会自动产生一个关于此参数的非空检查,如果参数为空,则抛出一个空指针异常。
  • @Cleanup:注解用于确保已分配的资源被释放(IO的连接关闭)。
  • @Synchronized:注解自动添加到同步机制,生成的代码并不是直接方法,而是锁代码块, 作用范围是方法上。ull :这个注解可以用在成员方法或者构造方法的参数前面,会自动产生一个关于此参数的非空检查,如果参数为空,则抛出一个空指针异常。
  • @Cleanup:注解用于确保已分配的资源被释放(IO的连接关闭)。
  • @Synchronized:注解自动添加到同步机制,生成的代码并不是直接锁方法,而是锁代码块, 作用范围是方法上。
  • @Value注解和@Data类似,区别在于它会把所有成员变量默认定义为private final修饰,并且不会生成set方法。

lombok插件使用和lombok不起作用的解决

idea安装插件

在这里插入图片描述

引入依赖


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

实体类中使用@Data


@Data
public class Employee {
    private Integer id; // id
    private String lastName; // 名字
    private String email; // 邮箱
    private Integer gender; // 性别 1男 0女
    private Integer dId; // 部门id
    }

@Data不起作用解决法方法

在这里插入图片描述

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: 在SpringBoot中使用lombok的注意事项

本文链接: https://www.lsjlt.com/news/158874.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 在SpringBoot中使用lombok的注意事项
    目录Lombok需求Lombok的使用开发工具无论是idea还是eclipse都必须要安装插件在项目中依赖Lombok如下简化javabean证明lombok在编译以后会自动生成Lo...
    99+
    2022-11-12
  • Springboot中@RequestBody注解使用的注意事项
    这篇文章将为大家详细讲解有关Springboot中@RequestBody注解使用的注意事项,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。@RequestBody注解踩坑@RequestBody json...
    99+
    2023-06-29
  • 基于Springboot使用logback的注意事项
    Springboot logback的注意事项 项目使用SpringBoot搭建的,开发环境没有发现问题,日志输出位置也正常。 项目的日志没有使用默认配置文件名方式,而是一个环境一套...
    99+
    2022-11-12
  • springboot中的controller注意事项说明
    目录关于controller注意事项1.controller主要有两个标签2.使用@Controller标签时各种controller的写法我们将分为四部分Controller 类型...
    99+
    2022-11-13
  • SpringBoot项目部署在weblogic中间件的注意事项说明
    SpringBoot项目部署在weblogic中间件的注意事项 1、SpringBoot项目Tomcat部署无需手动配置web.xml 但是使用weblogic部署项目时需配置所有相...
    99+
    2022-11-12
  • idea中SpringBoot启动失败的注意事项
    小编给大家分享一下idea中SpringBoot启动失败的注意事项,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!很多时候你新建了Maven 或者SpringBoo...
    99+
    2023-06-08
  • Springboot中使用lombok的@Data注解方式
    目录Springboot 使用lombok的@Data注解idea安装lombok插件创建项目,编写实体类编写测试类测试结果springBoot 注解@Data注入失败一、Files--Seetings--Plugins二、如果重启后仍注入...
    99+
    2014-06-11
    Springboot注解 lombok 注解 @Data注解
  • 使用PostgreSQL注意事项
    一、大小写特别敏感 大写字段需要用“”引号(pg字段名使用“”,MySQL字段名使用``)  ******表名以及字段名如果是小写但是为关键字,比如name,则也需使用""; 二、分页 limit ${limit} offset ...
    99+
    2016-07-18
    使用PostgreSQL注意事项
  • 单例模式在PHP项目中的使用与注意事项
    单例模式是一种常见的设计模式,它用于确保一个类只有一个实例,并提供一个全局的访问点。一、单例模式的使用场景在PHP项目中,单例模式常用于以下情况:数据库连接:在一个项目中,通常只需要一个数据库连接,使用单例模式可以确保只创建一个数据库连接实...
    99+
    2023-10-21
    使用 单例模式 注意事项 PHP项目
  • 使用springboot maven打包插件的注意事项有哪些
    小编给大家分享一下使用springboot maven打包插件的注意事项有哪些,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1. springboot项目默认生成的可执行jar,为什么不能作为依赖导入其他项目?S...
    99+
    2023-06-22
  • Js中parseInt的使用及注意事项
    目录start回顾一下map学习一下 parseInt总结:总结start 先看一个题目['1','2','3'].map(parse...
    99+
    2023-01-03
    js parseInt js parseint 精度 js parseint 小数
  • 在python中使用集合时需要注意的事项
    这篇文章将为大家详细讲解有关在python中使用集合时需要注意的事项,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Python的优点有哪些1、简单易用,与C/C++、Java、C# 等传统语...
    99+
    2023-06-14
  • Python中Enum使用的几点注意事项
    Enum 是个类 所以 基本的类操作都可以用 也就是我们可以添加自己的方法 class Mood(Enum): FUNKY = 1 HAPPY = 3 def...
    99+
    2022-11-13
  • python executemany的使用及注意事项
    使用executemany对数据进行批量插入的话,要注意一下事项: #coding:utf8 conn = MySQLdb.connect(host = “localhost”, user = “roo...
    99+
    2022-06-04
    注意事项 python executemany
  • 使用CDN的一些注意事项
    使用CDN的注意事项有: 选择CDN的时候,为了保障网站的安全性,应该选择安全可靠的提供商。不要为搜索引擎设置指定IP,不然CDN发挥不了作用,会使CDN加速系统就无法给出最佳的加速线路。做域名CNAME解析时,地址后面要加点,不然CDN网...
    99+
    2022-10-20
  • 关于Arrays.sort()使用的注意事项
    目录Arrays.sort()使用注意事项Arrays.sort()平时经常用到:有两种方式Arrays.sort()降序排列问题Arrays.sort()使用注意事项 Java中的...
    99+
    2022-11-13
  • Java中Collections.emptyList()的注意事项
    偶然发现有小伙伴错误地使用了Collections.emptyList()方法,这里记录一下。她的使用方式是: public void run() { ...... Li...
    99+
    2022-11-12
  • html中load的注意事项
    这篇文章主要介绍了html中load的注意事项,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。   由于浏览器的安全限制,大多数“Ajax”...
    99+
    2022-10-19
  • 在python中使用zip函数时需要注意的事项
    在python中使用zip函数时需要注意的事项?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。python可以做什么Python是一种编程语言,内置了许多有效的工...
    99+
    2023-06-14
  • 在mysql中查询缓存的注意事项
    这篇文章主要介绍在mysql中查询缓存的注意事项,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!查询优化注意事项对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作