每一个程序员在进公司的第一天,可能是在搭建环境,启动项目。小伙在启动 SpringBoot 项目中发现:代码中缺失大量的 getter/setter ,一查原来使用 lombok 。

首先,解决项目中 getter/setter 方法缺失,需要在 Idea 中安装插件 Lombok 插件。

我们来看下使用 lombok 的优点:

① 减少模板代码。以往我们会通过快捷键 alt + insert 自动生成 getter/setter 方法;

② 增加代码可读性。少了一堆 getter/setter 方法,代码变得清爽许多;

③ 防止遗漏。Lombok 能通过注解的方式,在编译时自动为属性生成构造器、getter/setter、equals、hashcode、toString 方法。

1、lombok maven 依赖

2、lombok 注解介绍

Data

Data 注解在类上,会为类的所有属性自动生成 setter/getter、equals、hashCode、toString 方法,如为 final 属性,则不会为该属性生成 setter 方法。

Getter/Setter

此注解在属性上,可以为相应的属性自动生成 Getter/Setter 方法,可以设定访问权限及是否懒加载等。

ToString

作用于类,覆盖默认的 toString () 方法,可以通过 of 属性限定显示某些字段,通过 exclude 属性排除某些字段。

EqualsAndHashCode:

作用于类,覆盖默认的 equals 和 hashCode

NonNull

主要作用于成员变量和参数中,标识不能为空,否则抛出空指针异常。

NoArgsConstructor, RequiredArgsConstructor, AllArgsConstructor:

作用于类上,用于生成构造函数。有 staticName、access 等属性。

staticName 属性一旦设定,将采用静态方法的方式生成实例,access 属性可以限定访问权限。

NoArgsConstructor

生成无参构造器。

RequiredArgsConstructor

生成包含 final 和 NonNull 注解的成员变量的构造器。

AllArgsConstructor

生成全参构造器。

Cleanup

针对实现了 java.io.Closeable 接口的对象有效,如:典型的 IO 流对象。


欢迎关注 @Python大星,一个会点 Python 的 Java 程序员。如文章描述有问题,评论下欢迎留言,有问题,你就说啊!

@Python大星 | 文

java tostring方法_Java程序员小伙启动项目报错,原来是使用了lombok相关推荐

  1. 解决idea启动项目报错:Unable to open debugger port(127.0.0.1:60157):java.net.SocketExceptionsocket closed

    转载自  解决idea启动项目报错:Unable to open debugger port(127.0.0.1:60157):java.net.SocketException"socket ...

  2. java启动项目报错,org.apache.catalina.lifecycleException..............以及解决方案

    解决方法 像类似的启动项目报错,一般情况都在web.xml里面: 此时,注意 java.lang.IllegalArgumentException: Invalid<url-pattern> ...

  3. vue启动项目报错:npm ERR! missing script: serve解决方法

    vue启动项目报错:npm ERR! missing script: serve解决方法 1.vue启动项目报错:npm ERR! missing script: serve 问题原因: 在配置文件中 ...

  4. 启动项目报错:null, message from server: “Host ‘XXX‘ is not allow

    step1:之前一直都是连的测试环境由docker镜像生成的mysql,公司老是断电导致mysql数据崩坏,于是在本地整了个8.0.18版本的mysql,启动项目报错:null, message fr ...

  5. 启动项目报错404 Not Found nginx/1.21.5-2022-6-8

    启动项目报错404 Not Found nginx/1.21.5 换了个工作地址后,再启动项目,页面显示404. 初步估计是nginx的配置文件出问题,但是之前都是能运行的,换了个地点就出错了,只能硬 ...

  6. Android Studio在模拟器启动项目报错

    android studio在模拟器启动项目报错 List of apks: [0] 'D:\Android Project\kotlin-compose-mobile-application\app ...

  7. 解决Intellij IDEA Tomcat启动项目报错:java.lang.ClassNotFoundException:org.springframework.web.context.Contex

    新建了一个maven项目,启动是报错java.lang.ClassNotFoundException:org.springframework.web.context.ContextLoaderList ...

  8. VUE 启动项目报错

    因任务需求需要将原来的代码,复制一份改变端口号来和后端代码实现新需求,再将代码复制后,使用npm run dev启动项目报错了,npm  install也不行.在网上搜了各种方法都不行,头大,简直是个 ...

  9. java抽象类普通方法_Java程序员开发三年,去网易社招,竟被问到这些面试题

    前言 前几天偶遇老同学,聊了聊工作:老同学和我分享了这次网易社招的面试题:文中篇幅有限,就和大家分享这么多:更多Java后端开发面试题请见文末! 面试题 1. 面向对象的特点有哪些? ①. 封装:所谓 ...

最新文章

  1. 如何访问docker内php,docker中容器之间如何访问
  2. 第十六届全国大学生智能车各分赛区所需要的比赛系统器材
  3. python模块之re正则表达式
  4. Make Membership header extension fields editable
  5. 减少HTTP请求之合并图片详解(大型网站优化技术)
  6. leetcode题解104- 二叉树的最大深度
  7. fiddler抓包时,出现的 Tunnel to ***** : 443
  8. JavaScript 对象分类
  9. 电商seo培训之卖家搜索优化步骤
  10. m2增长率曲线_中国通胀率(中国m2历年数据曲线图)
  11. opper、vivo手机微信小程序扫码后请求后台报400错误
  12. java 不能回滚_在Java 8中回滚()语句执行失败的最佳方法是什么?
  13. 2021中国AI产业10大趋势,一分钟看明白 | WAIC2021
  14. 练习6-3 英文字母替换加密(大小写转换+后移1位) (15 分)
  15. Cython(一)安装与使用
  16. JMeter Address Already in use 错误解决
  17. 抗疫众生相背后,阿里健康、京东健康担起了什么角色?
  18. 使用networkx绘制网络图及模块使用
  19. Linux发行版本介绍
  20. linux ubuntu ping dig 域名解析相关

热门文章

  1. RabbitMQ消息追踪之rabbitmq_tracing
  2. 双指针解决力扣两/三数之和问题
  3. 一文简述FFmpeg
  4. 音视频技术开发周刊 92期
  5. 实现Jitsi SFU自动关闭/启动视频层
  6. npm 更改默认全局路径以及国内镜像
  7. go语言的rune类型
  8. 生活本该如此——莫言
  9. Spring的Java配置
  10. MySQL 行转列的方法