知识补充:lombok

声明

本文为其他博主文章总结,仅用作个人学习,特此声明

参考文章链接

(3条消息) 狂神说 | Mybatis完整版笔记_小七rrrrr的博客-CSDN博客_狂神说mybatis笔记

(3条消息) Lombok插件在IDEA中下载安装使用教程_汝生淮南吾在北的博客-CSDN博客_idea lombok插件下载

(3条消息) 【终极方法】解决IDEA搜索不到Lombok插件的问题(IDEA 不能识别 @Slf4j,@Getter ,@Setter注解)_来老铁干了这碗代码的博客-CSDN博客

Lombok

现在的idea已经内置lombok插件了,不需要再额外下载安装

(3条消息) Lombok插件在IDEA中下载安装使用教程_汝生淮南吾在北的博客-CSDN博客_idea lombok插件下载

(3条消息) 【终极方法】解决IDEA搜索不到Lombok插件的问题(IDEA 不能识别 @Slf4j,@Getter ,@Setter注解)_来老铁干了这碗代码的博客-CSDN博客

Project Lombok是一个java库,它可以自动插入编辑器和构建工具,使java更加丰富多彩。永远不要再编写另一个getter或equals方法,使用一个注释,你的类就有了一个功能齐全的构建器,自动化你的日志变量,等等。

  • java library
  • plugs
  • build tools
  • 使用一个注释,你的类就有了一个功能齐全的构建器

使用步骤:

  1. 在IDEA中安装Lombok插件(现在的idea版本已经不用安装了)

  2. 在项目中导入jar包

    <dependencies>
        <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.22</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>
    
  3. 在实体类上加注解即可

    package com.xy.pojo;
    
    import lombok.AllArgsConstructor;
    import lombok.Data;
    import lombok.NoArgsConstructor;
    import lombok.ToString;
    import org.apache.ibatis.type.Alias;
    
    @Alias("user")
    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    @ToString
    public class User {
        private int id;
        private String name;
        private String pwd;
    }
    

补充一些常用注解

@Data:无参构造,get、set、toString、hashcode、equals

@AllArgsConstructor:有参构造

@NoArgsConstructor:无参构造

@ToString:重写ToString方法

注解名 作用 补充说明
@Data 无参构造,get、set、toString、hashcode、equals 注解在类上
@Value 用于修饰类,相当于是@Data的不可变形式
@Setter、@Getter 给类添加set、get方法
@NoArgsConstructor、@AllArgsConstructor @NoArgsConstructor注解给类创造无参构造器
@AllArgsConstructor注解给类创造全参构造器
@RequiredArgsConstructor @RequiredArgsConstructor注解生成final或者@notnull修饰的无参或者有参构造器
@ToStirng 可以添加一个toString方法
@Synchronized 处理线程安全问题的annotation,使用方法和关键字 synchronized比较类似,但是有一些不同点就是,关键字synchronized是锁定当前对象(this指针) ,而@Synchronized则会锁定一个private的常量。如果当前类中没有这个常量,就会自动生成一个 在方法上使用
@SneakyThrows 让你的代码拥有try…catch包裹
@NotNull 不能为空,否则抛出空指针异常
@Accessors(chain = true) 可以使用链式创建

如下图所示按照上边的方法添加注解以后,程序运行成功

posted @ 2022-06-08 10:50  无关风月7707  阅读(71)  评论(0编辑  收藏  举报