使用说明

要使用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

java关于lombok(包括父类参数)的更多相关文章

  1. clob字段的值插入和查询N种方法【包括java调用存储过程传入clob参数】

    import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import jav ...

  2. 已看1.熟练的使用Java语言进行面向对象程序设计,有良好的编程习惯,熟悉常用的Java API,包括集合框架、多线程(并发编程)、I/O(NIO)、Socket、JDBC、XML、反射等。[泛型]\

    1.熟练的使用Java语言进行面向对象程序设计,有良好的编程习惯,熟悉常用的Java API,包括集合框架.多线程(并发编程).I/O(NIO).Socket.JDBC.XML.反射等.[泛型]\1* ...

  3. Java基础 -- 泛型之泛型参数

    泛型机制常用的参数有3个: “?”代表任意类型.如果只指定了<?>,而没有extends,则默认是允许任意类. extends关键字声明了类型的上界,表示参数化的类型可能是所指定的类型,或 ...

  4. java自定义注解实现前后台参数校验

    2016.07.26 qq:992591601,欢迎交流 首先介绍些基本概念: Annotations(also known as metadata)provide a formalized way ...

  5. java将map拼接成“参数=值&参数=值”

    Java将Map拼接成"参数=值&参数=值" 把一个map的键值对拼接成"参数=值&参数=值"即"username=angusbao& ...

  6. C++/JAVA/C#子类调用父类函数情况[留存]

    时间久了就容易记不清了,特留存备用查看 c++ 1.构造函数调用   常用初始化列表  或者显示调用 1.1同一个类中构造函数调用构造函数   尽量不要这样做,因为结果不确定!避免麻烦(C++11增加 ...

  7. Java-Reflection反射-获取包括父类在内的所有字段

    前言 今天Android移动端要加个新功能,所以回归Android程序员的身份.开发的过程中,发现了之前的代码写的有很多问题,真的应该把时间抽出来重构一下了. 其中有反射的一个坑,工具类某方法反射获取 ...

  8. Java里面,反射父类里面数字类型字段,怎么set值

    Java里面,反射父类里面数字类型字段,怎么set值,我的做法是这样: /** * TODO 直接设置对象属性值, 忽略private/protected 修饰符, 也不经过setter * @aut ...

  9. Java基础之子类父类属性覆盖

    当java的子类和父类具有相同名字的属性时,到底java是怎么处理的. 先看代码: package com.joyfulmath.study.field; public class Person { ...

随机推荐

  1. Delphi locate函数

    使用ADO等数据控件的时候,经常会用到 locate 函数,在结果数据集中查询和定位,下面介绍一下: (一) function Locate(const KeyFields: String; cons ...

  2. Delphi窗体重绘API

    WinAPI: DrawFocusRect - 绘制焦点矩形 用SetTextColor()设置颜色 功能 设置指定设备环境(HDC)的字体颜色原型 WINGDIAPI COLORREF WINAPI ...

  3. NX二次开发-算法篇-创建最大边界包容盒

    NX9+VS2012 #include <uf.h> #include <uf_obj.h> #include <uf_modl.h> #include <u ...

  4. 如何通过编程发现Java死锁

    本文由 ImportNew - rookie_sam 翻译自 Dzone.欢迎加入翻译小组.转载请见文末要求. 死锁是指,两个或多个动作一直在等待其他动作完成而使得所有动作都始终处在阻塞的状态.想要在 ...

  5. LeetCode 445. Add Two Numbers II (两数相加 II)

    题目标签:Linked List 题目给了我们两个 数字的linked list,让我们把它们相加,返回一个新的linked list. 因为题目要求不能 reverse,可以把 两个list 的数字 ...

  6. jq选项卡切换功能

    效果图: <!DOCTYPE html> <html lang="en"> <head> <style> *{margin:0;pa ...

  7. 本地 win7 与虚拟机Centos7 ping互通和Centos7 上网设置

    VM 12 安装虚拟机我就不表示了 很简单网上找找 一 .虚拟机设置 1.修改使用了 VMWare 12 虚拟机,Oracle VM 用得有点晕 2.配置VM 的NET环境 3.在VMware虚拟机任 ...

  8. <Django>一些小知识

    ''' ORM import pymysql pymysql.connect( ... ... ) 1.不同的程序员写的SQL水平参差不齐 2.执行效率也参差不齐 python语法 --自动翻译 -- ...

  9. 如何使用maven打包

    使用maven打包有两种情况:不包括第三方jar包.包括第三方jar包 一般我们写程序,都会在IDEA上去调试,那么也就意味着,你需要将你所需要的jar包(第三方jar)全部给pom文件,否则是不能工 ...

  10. sql中取出字符串中数字

    select substring(reverse('0->星光'),PATINDEX('%[0-9]%',reverse('0->星光')),1)