使用说明

要使用lombok,必须是用插件,目前我所知道能用的工具是idea。具体安装插件方式如下图:

使用方式

如果是使用maven的直接加入依赖就可以了,如果不是就在网上找这个jar的地址下载,这里不错说明(现在基本上都还是用maven来的的吧)。

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

然后在bean对象中加入注释就可以了,如下所示

@Data
@NoArgsConstructor
@AllArgsConstructor
public class ColumnBO {
/**
* 列名
*/
private String columnName;
/**
* 转换后的列名
*/
private String columnNameTrans;
/**
* 数据类型
*/
private String dataType;
/**
* 转换后的数据类型
*/
private String dataTypeTrans;
/**
* 注释
*/
private String columnComment; }

打开structure就能看到get、set、三个基本方法的重写和构造方法了

注释类型

官方所有的注释:https://www.projectlombok.org/features/all

@NonNull

参数不能为空,不然会空指针异常

@Data(常用)

=@ToString+@EqualsAndHashCode+@Getter+@Setter

@NoArgsConstructor(常用)/@RequiredArgsConstructor(常用)/@AllArgsConstructor(常用)

无参构造、必填参数构造(@NonNull)、全参构造;生成构造函数功能较弱,有些时候需要自己写一些参数的构造函数,构造函数使用注释和自己写一些参数构造一起使用,有时候会启动不了。这个问题还没有找到原因。

@Getter/@Setter/@Getter(lazy=true)

自动创建get、set;lazy要使用此特性,请创建一个私有的final变量,用运行开销较大的表达式初始化它,并使用@Getter(lazy=true)注释字段。该字段将对代码的其余部分隐藏,并且在首次调用getter时,表达式的计算不会超过一次。

@ToString/@EqualsAndHashCode

自动创建tostring、equals、hashcode方法

下面几个参数还没有用过,等有空研究下

@Cleanup

@Value

@Builder

@SneakyThrows

@Synchronized

@Log

优缺点

优点:bean对象更加简洁,使用方便了

缺点:可读性下降,构造方式不够灵活

问题,父类参数

需要加上参数:callSuper = true

例如:@ToString(callSuper = true)

原文地址:https://blog.csdn.net/u014803081/article/details/84574016#Builder_72

最新文章

  1. .net程序部署(setupFactory)
  2. 干掉命令行窗口下MySql乱码
  3. python学习笔记-(十六)python操作mysql
  4. 省市区县镇级联数据JS版
  5. Python 汉字转拼音库 pypinyin
  6. VS2012配置Lua环境
  7. Vijos1675 NOI2005 聪聪和可可 记忆化搜索
  8. zabbix监控代理zabbix-proxy
  9. RPC服务和HTTP服务
  10. .net core 监听性能,异常
  11. CF886C Petya and Catacombs
  12. 9foundation
  13. 记账本,C,Github,util
  14. 读书笔记《疯狂人类进化史》,第五章,关于xing ai这件事
  15. 零基础学习python_easygui(35课)
  16. git log查看某一个分支的提交
  17. android 8 wifi 信号等级
  18. JVM内存参数( -Xms -Xmx -Xmn -Xss 直接内存)
  19. arpspoof+driftnet+ ARP欺骗简单图片抓取
  20. 关于android屏幕适配的问题(drawable-xxxxxxxx,dp,sp,px等等),偶尔看到了android源代码,关于dpi的区分的值

热门文章

  1. FFmpeg Download
  2. HTML——列表标签
  3. zjoi 2008 树的统计——树链剖分
  4. NX二次开发-UF_MODL_ask_point_containment获取一个点是在体(面,边)的边界内部,外部,还是边界上
  5. NX二次开发-遍历当前part所有component,把装配子部件设置成工作部件
  6. Centos7.5安装kafka集群
  7. SPSS如何调用已建立的数据文件
  8. TVS(瞬态抑制二极管)、Schottky(肖特基二极管)、Zener (齐纳二极管,也称稳压二极管)主要特点及区别和使用
  9. Algo: maxSubArray vs. maxProduct
  10. 8.0后广播在AndroidManifest.xml中注册后发送intent接收不到广播