博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
lombok
阅读量:7211 次
发布时间:2019-06-29

本文共 2273 字,大约阅读时间需要 7 分钟。

Lombok

Project Lombok is a java library that automatically plugs into your editor and build tools, spicing up your java.

Table of contents

Install

在idea上使用

Install Lombok

注意:如果编译出现错误Error:java: Lombok annotation handler class lombok.javac.handlers.HandleData failed on...,检查你的版本,确保不是官网教程示例的版本0.9.2,替换成1.18.0,或者是RELEASE

  1. 新建一个person类设置一些属性,加入lombok的jar后,我们在person类上加入注解,现在只需要了解它可以为类属性生成get,set方法,发现有提示而且并没有报错,也就是至少jar成功被依赖了,但是在单元测试中,发现new出person对象无法调用get,set等方法,因为lombok虽然会在编译时将你的注解转化为实际对应的代码执行,但是在写代码的时候,idea并不知道可以带来什么,所以需要加入插件
  2. 需要安装idea的lombok插件(需要梯子)idea -> file ->setting -> plugin ->browser repos 输入lombok 选择lombok 然后 install

    安装完成后restart idea

  3. idea 重启后需要配置注解处理器
    同样我们在Settings设置页面,我们点击Build,Execution,Deployment-->选择Compiler-->选中Annotation Processors,然后在右侧勾选Enable annotation processing即可,完成后,需要再次重启idea,不要和上一步的重启合并成一步
  4. 这个时候发现注解在菜单栏点击View-->Tool Windows-->Structure,便可以看到类中所有的方法了这些都是lombok帮我自动生成的。

    person类的方法实现了
    1394862-20180626122906445-151083626.gif

也可以调用了

1394862-20180626122933095-321528284.gif

使用

  • 需要额外依赖

    org.apache.logging.log4j
    log4j-slf4j-impl
    2.11.0

    如果没有配置log4j2配置文件

    执行到log.error()的时候,会提示

    ERROR StatusLogger No Log4j 2 configuration file found. Using default configuration (logging only errors to the console), or user programmatically provided configurations. Set system property 'log4j2.debug' to show Log4j 2 internal initialization logging. See https://logging.apache.org/log4j/2.x/manual/configuration.html for instructions on how to configure Log4j 2

    大意就是需要配置文件,不然会启用默认的配置

    一般是要将日志输出到日志文件中的

    在resoures下新建文集log4j2.xml

    内容如下

    log

@Data的使用

新建people类

为了测试data官方文档中说明的
get,toString,equal对于静态属性与非静态属性的区分
set,constructor对于final非final的区分
1394862-20180626164521254-1498831536.gif

注解说明

Data

官方文档:

Generates getters for all fields, a useful toString method, and hashCode and equals implementations that check all non-transient fields. Will also generate setters for all non-final fields, as well as a constructor.
翻译过来就是加入@Data会为类的所有非静态属性生成get方法,以及对应非静态属性的toString()方法,也会为类的所有没有final修饰的属性生成set方法和对应的构造器G

转载于:https://www.cnblogs.com/selton/p/9228528.html

你可能感兴趣的文章
通过TextWatcher去观察输入框中输入的内容以及输入字符个数
查看>>
C#窗体控件-单选按钮控件RadioButton
查看>>
[C++]红色波浪线是什么意思
查看>>
tomcat之 JDK8.0安装、tomcat-8.5.15安装
查看>>
Android ADB命令
查看>>
Java调用Lua脚本(热载实现)
查看>>
排除“使用主题 css 文件要求页上有标头控件。(例如 <head runat="server" />)”错误...
查看>>
jdk1.7的新特性
查看>>
关注一下IBM工具
查看>>
JS 英文不截断单词截取
查看>>
Oracle 数据定义
查看>>
百度分享自定义内容和图片
查看>>
关于代码评审的微博讨论汇集
查看>>
PHP vs Java
查看>>
C# 连接SQL Server数据库的几种方式--server+data source等方式
查看>>
Qt控件中的属性sizePolicy说明
查看>>
针对Properties中实时性要求不高的配置参数,用Java缓存起来
查看>>
Flex读取txt文件里的内容(二)
查看>>
mysql 变量set
查看>>
Deep Learning(深度学习)学习笔记整理系列
查看>>