首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >lombok问题汇总

lombok问题汇总

作者头像
雨临Lewis
发布2022-01-12 12:31:46
发布2022-01-12 12:31:46
8710
举报
文章被收录于专栏:雨临Lewis的博客雨临Lewis的博客

Eclipse安装lombok插件

方式一

使用lombok框架开发可以减少大量重复性的代码,大大提高开发效率,但是Eclipse本身并不支持lombok,会编译报错。除了项目要导入lombok依赖,还需要为Eclipse安装该lombok插件。

安装方法很简单,找到你导入的lombok的jar包,双击运行该jar包,会出现一个安装界面。或者右键jar包,选择打开方式,接着选择Java (TM) Platform SE binary,会出现安装界面。

在安装界面选择当前的Eclipse进程,或者点击左下角的Specify location...选择你要安装插件的Eclipse,接着点右下角的Install / Update,很快就安装完毕,点击Quit Installer

lombok的下载地址:https://projectlombok.org/downloads/lombok.jar

方式二

通过jar包的方式来安装,实际上只是在eclipse的配置文件eclipse.ini中添加了一行启动参数,我们也可以自己手动添加来实现安装lombok插件的目的:

1

-javaagent:.\lombok-1.18.6.jar

这里的-javaagent参数后面是lombok的jar包目录。

在Eclipse里@Slf4j和@Data无效

在Eclipse安装好lombok之后,虽然能够正常识别@Slf4j注解生成的log变量,但@Data注解依然无效:在使用到了pojo类的私有变量时,依然会提示说缺少setter/getter方法。折腾了好久,才发现原来是因为Eclipse自动给我的pojo类的私有变量加上final修饰符,导致setter/getter方法注入失败了。

把pojo类的私有变量前边的final去掉后,@Data终于生效了。之所以会自动给变量加上final修饰符,是因为我设置了Save Action,Eclipse会自动在我保存代码的时候自动在私有变量、局部变量前加上final修饰符,这个是公司制定的代码编程规范。

@EqualsAndHashCode

该注解默认使用当前类的非静态、非瞬态的属性来生成equals(Object other)hashCode()方法,而@Data本身包括了这个@EqualsAndHashCode注解。

如果一个pojo继承了其他pojo,通常是需要使用到父类里的公共字段,这时候应该使用父类的字段来参与生成equals(Object other)hashCode()方法,此时需要将callSuper设为true,如下:

1 2 3 4 5 6 7

@Data @EqualsAndHashCode(callSuper = true) public class ItemDto extends BaseEntityDto { private String name; }

参考链接

我的博客即将同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=3paqcjjzio4k8

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-01-062,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Eclipse安装lombok插件
    • 方式一
    • 方式二
  • 在Eclipse里@Slf4j和@Data无效
  • @EqualsAndHashCode
  • 参考链接
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档