当前位置: 首页 > news >正文

3.lombok

1.lombok介绍

lombok是一个开源的代码生成库,能以简单的注解形式来简化Java类中的大量样板代码,提高开发人员的开发效率。例如开发中经常需要写的javabean,都需要花时间去添加相应的getter/setter,也许还要去写构造器、equals等方法,而且需要维护,当属性多时会出现大量的getter/setter方法,这些显得很冗长也没有太多技术含量。

lombok能通过注解的方式,在编译时自动为属性生成构造器、getter/setter、equals、hashcode、toString方法,使代码看起来更简洁。

lombok对应的maven坐标:

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

2.安装lombok插件

开发工具为IntelliJ IDEA,安装插件过程如下:
1.打开IntelliJ IDEA后点击菜单栏中的File–>Settings进入到设置页面
2.点击设置页面中的Plugins进行插件的安装,在右侧选择Browse repositories…,然后在搜索页面输入lombok,可以查询到下方的Lombok Plugin,鼠标点击Lombok Plugin可在右侧看到Install按钮,点击该按钮便可安装.

3.lombok常用注解

在这里插入图片描述

4.lombok入门案例

第一步:创建maven工程lombok_demo并配置pom.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.sun</groupId><artifactId>lombok_demo</artifactId><version>1.0-SNAPSHOT</version><dependencies><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.10</version></dependency></dependencies></project>

第二步:创建User类并加入lombok提供的注解

package com.sun.entity;import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class User {private int id;private String name;private int age;
}

第三步:创建测试类TestLombok

package com.sun;import com.sun.entity.User;public class TestLombok {public static void main(String[] args) {//无参构造方法User user1 = new User();/*setter方法*/user1.setId(1);user1.setName("itcast");user1.setAge(18);/*getter方法*/int id = user1.getId();String name = user1.getName();int age = user1.getAge();//带有所有参数的构造方法User user2 = new User(2,"itheima",20);//建造者模式User user3 = User.builder().id(3).name("boxuegu").age(22).build();/*toString方法*/System.out.println(user1.toString());System.out.println(user2.toString());System.out.println(user3.toString());}
}

在这里插入图片描述

注:可以使用反编译工具查看生成的class文件内容

相关文章:

  • 汉诺塔问题深度解析
  • 【Block总结】EBlock,快速傅里叶变换(FFT)增强输入图像的幅度|即插即用|CVPR2025
  • 【AI】智驾地图在不同自动驾驶等级中的作用演变
  • python时间操作笔记
  • VBA之Excel应用第四章第四节:单元格对象的Clear方法和Count属性
  • Gojs渲染实线、虚线
  • JavaScript 中的单例内置对象:Global 与 Math 的深度解析
  • RFC8489-STUN
  • [蓝桥杯]解谜游戏
  • 凌晨四点的星光
  • Delphi 实现远程连接 Access 数据库的指南
  • MySQL基础(一)介绍、下载及安装
  • Hubstudio浏览器如何使用Loongproxy?
  • libGL error
  • MS8258D 高增益带宽积 FET 输入放大器/激光雷达接收跨阻放大器
  • arcpy与扩展模块
  • Android Test3 获取的ANDROID_ID值不同
  • kubeadm安装k8s
  • 2024年第十五届蓝桥杯青少Scratch初级组-国赛—画矩形
  • 2003-2024年高铁列车信息数据