首页 > 其他分享 >Lombok注解

Lombok注解

时间:2023-03-13 19:34:41浏览次数:36  
标签:AAA 生成 注解 Lombok 方法 setter

一、简介:

  Lombok能以简单的注解形式来简化java代码,提高开发人员的开发效率

二、Lombok使用:

  使用Lombok需要的开发环境Java+Maven+IntelliJ IDEA或者Eclipse(安装Lombok Plugin)

2.1、添加maven依赖

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

2.2、安装插件

使用Lombok还需要插件的配合,我使用开发工具为idea,这里只讲解idea中安装lombok插件,使用eclipse和myeclipse的小伙伴和自行google安装方法。 打开idea的设置,点击Plugins,点击Browse repositories,在弹出的窗口中搜索lombok,然后安装即可。

三、常用注解

注解名称 使用位置 描述说明
@Setter 注解在类或字段

注解在类时为所有字段生成setter方法,

注解在字段上时只为该字段生成setter方法

@Getter 注解在类或字段

注解在类时为所有字段生成Getter方法,

注解在字段上时只为该字段生成Getter方法

@ToString  注解在类 添加toString方法
@EqualsAndHashCode 注解在类 生成hashCode和equals方法
@NoArgsConstructor 注解在类 生成 无参的构造方法
@RequiredArgsConstructor 注解在类

生成 部分参数构造器,为类中需要特殊处理的字段生成构造方法,比如final和被@NonNull注解的字段

@AllArgsConstructor  注解在类 生成 全参构造方法
@Data  注解在类

生成setter/getter、equals、canEqual、hashCode、toString方法,如为final属性,

则不会为该属性生成setter方法。

@Slf4j 注解在类

生成log变量,严格意义来说是常量。

private static final Logger log = LoggerFactory.getLogger(UserController.class);

@Builder 注解在类

产生复杂的构建器api类

案例:

/**
 * 测试 Builder
 * AAA实体类
*/ @Data @Builder public class AAA { private Integer age; private Integer count; }

测试代码:

    /**
     * 给这个对象中的某个属性赋值
     */
    @Test
    public void a(){

        AAA build = AAA.builder().age(20).build();
        System.out.println(build);

    }

结果:

AAA(age=20, count=null)
@NonNull 注解在字段 或 构造器

如果放在参数上,lombok 将在方法构造函数主体的开头插入一个 null-check,抛出一个 {@code NullPointerException},参数名称作为消息。

如果放在字段上,则任何为该字段赋值的生成方法也将生成这些 null 检查。

 

标签:AAA,生成,注解,Lombok,方法,setter
From: https://www.cnblogs.com/Life-QX/p/17212538.html

相关文章

  • 注解处理器 3:实战 Android Router 插件实现
    前篇文档:注解处理器1:javax.lang.model包讲解前篇文档:注解处理器2:java注解处理器Gradle关联文章:Gradle功能介绍组件化介绍文章:Android组件化本文的Demo地址:Git......
  • Dart利用注解生成代码
    个人博客:http://www.milovetingting.cnDart利用注解生成代码引入依赖dev_dependencies: source_gen:^1.2.6 build_runner:'>2.3.0<4.0.0'定义注解import'p......
  • SpringMVC:纯注解开发的流程?
    一、导入依赖 二、创建SpringMVC配置类@Configuration@ComponentScan("com.lurenjia.controller")//扫描注解的包publicclassSpringmvcConfig{}创建Spring配......
  • Mybatis-lesson07-lombok-慎用慎用吧-03-12
    第一步:Settings中加入plugins---lombok第二步:maven中导入依赖<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><ve......
  • 注解
    注解概述/*注解=注释+解释 1.给当前程序开发者提供必要的信息和标记 2.给Java编译或者JVM提供必要数据支持和标记目前解除的注解 【标记】 @Override ......
  • 【Spring注解】@RequestBody和@RequestParam的区别
    SpringMVC中经常会用到@RequestBody和@RequestParam两个注解来获取请求的参数,那么这两个参数到底有什么区别呢?首先我们要知道GET请求与POST请求的区别GET请求......
  • 注解处理器 2:java 注解处理器
    前篇文档:注解处理器1:javax.lang.model包讲解概览注解处理器(AnnotationProcessorTool)是javac的一个工具,它用来在编译时扫描和处理注解(Annotation)。其生效的时间......
  • MybatisPlus中@TableField注解的使用
    实现官方文档说明:com.baomidou.mybatisplus.annotations.TableField 值描述value字段值(驼峰命名方式,该值可无)update预处理set字段自定义注入condition预处理WHERE实体......
  • aop+自定义注解实现数据源切换
    pom.xml依赖<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"......
  • 用注解实现给对象动态添加方法
    来自《Java核心技术II高级特性》我们知道在GUI编程中,有很多对象的事件监听方法,类似下面:yellowButton.addActionListener(e->yellowBackground()); 首先我们先......