###1.lombok
package tacos.pojo; import lombok.Data; import lombok.RequiredArgsConstructor; @Data @RequiredArgsConstructor public class Ingredient { private final String id; @SuppressWarnings("unused") private final String name; private final Type type; public static enum Type{ WARP,PROTEIN,VEGGIES,CHEESE,SAUCE } }
Ingredient pojo类:这是一个简单的pojo类,3个参数。两个String,一个枚举。用到了两个注解。@Data @RequiredArgsConstructor,这是lombok提供的注解,我们引入依赖。
1.1引入依赖:
方法1:选中pom文件,右键---sping----Edit starters-弹出下图
找到lomboc项,添加
方法2:直接赋值依赖到pom文件
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <scope>provided</scope> </dependency>
1.2 在这个pojo类中,我们没有定义setter、getter、equals、hashcode、tostring、构造方法。为什么?
因为两个注解:
@Data:
它会为我们自动生成 setter、getter、equals、hashcode、tostring、不带参数的构造方法
@RequiredArgsConstructor:
它会为我们生成以final属性为参数的构造函数
lombok其它注解说明
@NonNull : 让你不在担忧并且爱上NullPointerException
@CleanUp : 自动资源管理:不用再在finally中添加资源的close方法
@Setter/@Getter : 自动生成set和get方法
@ToString : 自动生成toString方法
@EqualsAndHashcode : 从对象的字段中生成hashCode和equals的实现
@NoArgsConstructor:自动生成无参构造方法
@RequiredArgsConstructor:为final参数生成有参构造
@AllArgsConstructor:为所有参数生成有参构造
@Data : 自动生成set/get方法,toString方法,equals方法,hashCode方法,不带参数的构造方法
@Value : 用于注解final类
@Builder : 产生复杂的构建器api类
@SneakyThrows : 异常处理(谨慎使用)
@Synchronized : 同步方法安全的转化
@Getter(lazy=true) :
@Log : 支持各种logger对象,使用时用对应的注解,如:@Log4j
再看下面截图
明明加了这两个注解,可是还是报final没有初始化的错,因为还需要在开发工具上安装Lombok插件
1.3安装Lombok插件
第一步:先在官网https://projectlombok.org/download 下载Lombok.jar文件
第二步:将lombok文件放到eclipse安装目录
第三步:双击lombok.jar
第四步:会跳转出如下窗口
第五步:首先选Specify location按钮,选择eclipe安装目录,然后点击Install/update
第六步:安装成功后,退出,会在eclipse的配置文件eclipse.ini中出现 -javaagent:D:\ide\eclipse\lombok.jar
最后一步:重启eclipse,这样Lombok插件就安装好了,若已存在仙姑,rebuild项目。项目不再报错
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?