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

基于IDEA的Lombok插件安装及简单使用

lombok介绍

Lombok能以注解形式来简化java代码,提高开发效率。开发中经常需要写的javabean,都需要花时间去添加相应的getter/setter,也许还要去写构造器、equals等方法,而且需要维护。而Lombok能通过注解的方式,在编译时自动为属性生成构造器、getter/setter、equals、hashcode、toString方法。特别的是它在源码中没有getter和setter方法,但是在编译生成的字节码文件中有getter和setter方法。这样就省去了手动重建这些代码的麻烦,使代码看起来更简洁些。

基于IDEA添加Lombok插件

目前新版的IDEA已经自动安装了Lombok插件,你可以在设置的插件里面查看是否安装了Lombok
在这里插入图片描述
第一此使用可能爆红需要将Lombok添加到路径中来。
在这里插入图片描述
在这里插入图片描述

lombok常用注解

  1. @Getter和@Setter
  • 作用:生成成员变量的get和set方法。
  • 写在成员变量上,指对当前成员变量有效。
  • 写在类上,对所有成员变量有效。
  • 注意:静态成员变量无效。
  1. @ToString
  • 作用:生成toString()方法。
  • 注解只能写在类上。
  1. @EqualsAndHashCode
  • 作用:生成hashCode()和equals()方法。
  • 注解只能写在类上。
  1. @NoArgsConstructor@AllArgsConstructor
  • @NoArgsConstructor:无参数构造方法。
  • @AllArgsConstructor:满参数构造方法。
  • 注解只能写在类上。
  1. @Data
  • 作用:生成get/set,toString,hashCode,equals,无参构造方法
  • 注解只能写在类上。
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Student {private Integer id;private String name;
}
public class Main {public static void main(String[] args) {Student student = new Student();student.setName("张三");student.setId(1);System.out.println(student.getName()+"..."+student.getId());Student p1 = new Student(2, "李四");System.out.println(p1.getName()+"..."+p1.getId());}
}

相关文章:

  • ARM 虚拟机FVP环境搭建
  • 2024-07-15 Unity插件 Odin Inspector4 —— Collection Attributes
  • 电脑的D盘E盘F盘突然消失了 电脑只剩下C盘了其他盘怎么恢复
  • C#中简单Socket编程
  • 中国电子学会青少年编程等级考试真题下载
  • Linux FFmpeg安装教程
  • 探索深度学习与Transformer架构的最新进展
  • STM32F103RC使用HAL库配置USART进行数据收发
  • 计算机图形学入门28:相机、透镜和光场
  • sysbench测试系统磁盘读写
  • 【开源项目】Rust开发复制文件夹目录结构工具
  • 新款S32K3 MCU可解决汽车软件开发的成本和复杂性问题(器件编号包含S32K322E、S32K322N、S32K328)
  • 【linux】服务器ubuntu安装cuda11.0、cuDNN教程,简单易懂,包教包会
  • 秋招突击——7/12——复习{每日温度、完全平方数、无重复最长子串}——新作{字节面试——控制多线程按照顺序输出}
  • Spring的AOP
  • CentOS从零开始部署Nodejs项目
  • Dubbo 整合 Pinpoint 做分布式服务请求跟踪
  • java 多线程基础, 我觉得还是有必要看看的
  • js中forEach回调同异步问题
  • laravel5.5 视图共享数据
  • macOS 中 shell 创建文件夹及文件并 VS Code 打开
  • Mysql优化
  • Python代码面试必读 - Data Structures and Algorithms in Python
  • 百度地图API标注+时间轴组件
  • 规范化安全开发 KOA 手脚架
  • 理解IaaS, PaaS, SaaS等云模型 (Cloud Models)
  • 漫谈开发设计中的一些“原则”及“设计哲学”
  • 你真的知道 == 和 equals 的区别吗?
  • 如何设计一个微型分布式架构?
  • 算法之不定期更新(一)(2018-04-12)
  • 栈实现走出迷宫(C++)
  • 7行Python代码的人脸识别
  • ​草莓熊python turtle绘图代码(玫瑰花版)附源代码
  • #VERDI# 关于如何查看FSM状态机的方法
  • (AtCoder Beginner Contest 340) -- F - S = 1 -- 题解
  • (ibm)Java 语言的 XPath API
  • (poj1.2.1)1970(筛选法模拟)
  • (pytorch进阶之路)扩散概率模型
  • (Redis使用系列) Springboot 使用Redis+Session实现Session共享 ,简单的单点登录 五
  • (利用IDEA+Maven)定制属于自己的jar包
  • (十七)Flask之大型项目目录结构示例【二扣蓝图】
  • (四)事件系统
  • (转)程序员技术练级攻略
  • .FileZilla的使用和主动模式被动模式介绍
  • .Net Core/.Net6/.Net8 ,启动配置/Program.cs 配置
  • .NET/C# 的字符串暂存池
  • .NET/C# 推荐一个我设计的缓存类型(适合缓存反射等耗性能的操作,附用法)
  • .Net高阶异常处理第二篇~~ dump进阶之MiniDumpWriter
  • .NET开发人员必知的八个网站
  • .net快速开发框架源码分享
  • .NET企业级应用架构设计系列之开场白
  • .ui文件相关
  • /bin/bash^M: bad interpreter: No such file or directory
  • @media screen 针对不同移动设备
  • [1]从概念到实践:电商智能助手在AI Agent技术驱动下的落地实战案例深度剖析(AI Agent技术打造个性化、智能化的用户助手)