本文版权归 远方的风lyh和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作。

在开发中,比如我们要写一个modol 实体类 要编写 get、set 这些获取和填值的方法,这样写也没错,但重复代码,不是很优雅!

今天发现了一个可以降低我们编码量的方法 使用 lombok 插件(可以maven配置   也可以idea、eclipse插件安装)

这里只说明maven配置方式

使用说明 

  pom 引入 lombok

<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.0</version>
<scope>provided</scope>
</dependency

比如我们写一个实体类 加入标签即可 省去 set 、get方法的编写

/**
* 购物车 实体
* @author xxx
*/
@Getter
@Setter
public class Cart implements Serializable {
/** 商户号 */
private String merchantId;
/** 餐桌号 */
private String tableId; private String merchantName;
/**购物车详情 */
private List<UserOrderDetail> userOrderDetailList;
}

 上面代码中@Getter@Setter, 会默认生成一个无参构造。和对应的get (*注意 布尔值 为 is方法)和 set方法 , 该注解可以使用在类上也可以使用在 属性上

lombok 插件除了上面的 注解 还提供其他注解:

@Data :该注解使用在类上,该注解会提供getter、setter、equals、canEqual、hashCode、toString方法。

@NonNull 该注解使用在属性上,该注解用于非空字段检查,当放在setter方法的字段上,若字段为空,则抛出NullPointerException。 该注解会默认是生成一个无参构造。

Lombok提供的注解

  • @Setter
  • @Getter
  • @Data
  • @NonNull
  • @Log
  • @AllArgsConstructor
  • @NoArgsConstructor
  • @EqualsAndHashCode
  • @Cleanup
  • @ToString
  • @RequiredArgsConstructor
  • @Value
  • @SneakyThrows
  • @Synchronized

减少重复代码的书写--Lombok的更多相关文章

  1. Effective前端5:减少前端代码耦合

    什么是代码耦合?代码耦合的表现是改了一点毛发而牵动了全身,或者是想要改点东西,需要在一堆代码里面找半天.由于前端需要组织js/css/html,耦合的问题可能会更加明显,下面按照耦合的情况分别说明: ...

  2. 编写高质量代码改善C#程序的157个建议——建议98:用params减少重复参数

    建议98:用params减少重复参数 如果方法的参数数目不定,且参数类型一致,则可以使用params关键字减少重复参数声明. void Method1(string str, object a){} ...

  3. x-杂项-maven-repository-lombok-intro:使用PROJECT LOMBOK减少BOILERPLATE代码

    ylbtech-杂项-maven-repository-lombok-intro:使用PROJECT LOMBOK减少BOILERPLATE代码 1.返回顶部 1. REDUCING BOILERPL ...

  4. 代码的坏味道(14)——重复代码(Duplicate Code)

    坏味道--重复代码(Duplicate Code) 重复代码堪称为代码坏味道之首.消除重复代码总是有利无害的. 特征 两个代码片段看上去几乎一样. 问题原因 重复代码通常发生在多个程序员同时在同一程序 ...

  5. Random获得的随机数怎么样减少重复率

    C#中的Random在获得随机数的时,如果你想要随机循环取得100个随机数则使用如下代码会出现大量的重复数字.代码如下: using System; namespace ConsoleApplicat ...

  6. IntelliJ IDEA 自动导入包 关闭重复代码提示

    idea可以自动优化导入包,但是有多个同名的类调用不同的包,必须自己手动Alt+Enter设置 设置idea导入包 勾选标注 1 选项,IntelliJ IDEA 将在我们书写代码的时候自动帮我们优化 ...

  7. IntelliJ IDEA 自动导入包 快捷方式 关闭重复代码提示

    idea可以自动优化导入包,但是有多个同名的类调用不同的包,必须自己手动Alt+Enter设置 设置idea导入包 勾选标注 1 选项,IntelliJ IDEA 将在我们书写代码的时候自动帮我们优化 ...

  8. 【IntelliJ 】IntelliJ IDEA 自动导入包 快捷方式 关闭重复代码提示

    idea可以自动优化导入包,但是有多个同名的类调用不同的包,必须自己手动Alt+Enter设置 设置idea导入包 勾选标注 1 选项,IntelliJ IDEA 将在我们书写代码的时候自动帮我们优化 ...

  9. 使用枚举类Enum作为callee和caller的约定,运用反射消除分支和重复代码在命令式程序中的应用

    在开发过程中,程序提供的功能由简单变得复杂,承担功能的主要类也会因此变得庞大臃肿,如果不加以维护,就会散发出浓重的代码味道.下面这篇博文,主要讲述了利用Enum,反射等手段简化重构代码的过程. 代码涉 ...

随机推荐

  1. java根据图片创建日期,或最后修改日期重命名

    import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import jav ...

  2. 微信小程序的自定义插件

    第一步,创建一个页面和普通页面一样 第二不,在这个页面上进行对json配置, "component":true 第三不在需要插入的页面中进行设置 插入标签 <dialog i ...

  3. logback配置文件

    logback-spring.xml 通用配置文件如下: <?xml version="1.0" encoding="UTF-8"?> <co ...

  4. mysql5.7安装记录

    mysql安装记录 版本5.7 windows系统 一.缺少my.ini文件 [mysql]# 设置mysql客户端默认字符集default-character-set=utf8 [mysqld]#设 ...

  5. PID control

    |—平滑化算法 |—PID控制—|—P控制器编程 |—PD控制编程 |—PID控制编程 |—参数优化 |—实验P.PD.PID对减小系统误差的作用 这里讨论怎么将路径转变成行动指令(生成平滑的路径), ...

  6. 【转载】 .NET框架设计—常被忽视的C#设计技巧

    阅读目录: 1.开篇介绍 2.尽量使用Lambda匿名函数调用代替反射调用(走进声明式设计) 3.被忽视的特性(Attribute)设计方式 4.扩展方法让你的对象如虎添翼(要学会使用扩展方法的设计思 ...

  7. 《Serverless架构-无服务单页应用开发》读后感

    本书的作者是[美]Ben Rady,译者郑赞美.简传挺,书中作者详细的介绍了如何使用html.js以及amazon提供的诸多云服务(Simple Storage Service(S3).Cognito ...

  8. 将表格添加到Word文档中 ,包括表格样式设置

    创建 Table 对象并设置其属性 在您将表格插入文档之前,必须创建 Table 对象并设置其属性. 要设置表格的属性,请创建TableProperties对象并为其提供值. TablePropert ...

  9. 出错with root cause

    [背景:] 我自己写了一个项目,主页可以看到一个数据库里的一个应用的users用户表的所有数据,包括用户的年龄,姓名,出生日期等信息.后来又想再增加一个注册功能,写好了之后进行单元测试,结果就出现了w ...

  10. gc的real时间比user时间长

    https://stackoverflow.com/questions/556405/what-do-real-user-and-sys-mean-in-the-output-of-time1 htt ...