java关于lombok(包括父类参数)
2024-08-28 08:46:12
java关于lombok对bean对象进行自动设置
使用说明
要使用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
最新文章
- .net程序部署(setupFactory)
- 干掉命令行窗口下MySql乱码
- python学习笔记-(十六)python操作mysql
- 省市区县镇级联数据JS版
- Python 汉字转拼音库 pypinyin
- VS2012配置Lua环境
- Vijos1675 NOI2005 聪聪和可可 记忆化搜索
- zabbix监控代理zabbix-proxy
- RPC服务和HTTP服务
- .net core 监听性能,异常
- CF886C Petya and Catacombs
- 9foundation
- 记账本,C,Github,util
- 读书笔记《疯狂人类进化史》,第五章,关于xing ai这件事
- 零基础学习python_easygui(35课)
- git log查看某一个分支的提交
- android 8 wifi 信号等级
- JVM内存参数( -Xms -Xmx -Xmn -Xss 直接内存)
- arpspoof+driftnet+ ARP欺骗简单图片抓取
- 关于android屏幕适配的问题(drawable-xxxxxxxx,dp,sp,px等等),偶尔看到了android源代码,关于dpi的区分的值
热门文章
- FFmpeg Download
- HTML——列表标签
- zjoi 2008 树的统计——树链剖分
- NX二次开发-UF_MODL_ask_point_containment获取一个点是在体(面,边)的边界内部,外部,还是边界上
- NX二次开发-遍历当前part所有component,把装配子部件设置成工作部件
- Centos7.5安装kafka集群
- SPSS如何调用已建立的数据文件
- TVS(瞬态抑制二极管)、Schottky(肖特基二极管)、Zener (齐纳二极管,也称稳压二极管)主要特点及区别和使用
- Algo: maxSubArray vs. maxProduct
- 8.0后广播在AndroidManifest.xml中注册后发送intent接收不到广播