巴拉巴拉
小魔仙

lombok-简化你的代码

项目有的实体类里面字段很多,而且每个字段都需要get和set方法。

导致代码看上去很臃肿,不美观。

最近在看Sharding-JDBC(送上Github飞机票✈️)的源码的时候,发现跑不动,很多报错。

他们都无一例外的缺少类get和set方法,当时很困惑的就是不可能要我手动的给那么多类加get和set。

于是乎发现了他们的注解,也就是这篇记录要写的的lombok,网上配置lombok其实方法已经很多类,这里只是算是记录贴。后期还需要完善。

lombok官网:https://projectlombok.org/

看了一眼官网的 IntelliJ IDEA 的安装教程,似乎有一些出入(其实也没差多少,我是 OSX 版本的 IntelliJ IDEA 15)

官网IntelliJ IDEA 教程:

  • Go to File > Settings > Plugins
  • Click on Browse repositories...
  • Search for Lombok Plugin
  • Click on Install plugin
  • Restart IntelliJ IDEA

我的顺序是(其实几乎差不多):

  • 前往插件管理 IntelliJ IDEA > Preferences ⌘, > Plugins
  • 点击 Browse repositories...
  • 在搜索框搜索 Lombok Plugin
  • 点击 Install 安装
  • 重启 IntelliJ IDEA
  • 前光注释管理器 IntelliJ IDEA > Preferences ⌘, > Build,Execution,Deployment > Compiler > Annotation Processors
  • 启用注释管理器 Default > Enable annotation Processors 确定保存
  • 上面这步找不到的话直接在 Preferences 里面搜索 Enable annotation Processors
  • 重启 IntelliJ IDEA

maven:

<!--lombok-->
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.16.18</version>
    <scope>provided</scope>
</dependency>

eclipse(OSX系统):

  • 下载 lombok.jar
  • 找到 Eclipse 右键 > 显示包内容 > Contents > Eclipse 目录
  • 拷贝 lombok.jar 到 该目录
  • 编辑 eclipse.ini 在最后加入以下两行内容:

-Xbootclasspath/a:lombok.jar
-javaagent:/Users/Jecced/eclipse/jee-neon/Eclipse.app/Contents/Eclipse/lombok.jar

上面这个路径写你自己的,别抄我的😂

一样别忘了要引入pom.xml

如果你没有使用maven来管理项目的话,一定要下载lombok.jar 并且配置到你的项目里面去


lombok 所有的注解 看官网:https://projectlombok.org/features/all

常用注解

@Data :注解在类上;提供类所有属性的 getting 和 setting 方法,此外还提供了equals、canEqual、hashCode、toString
@Setter:注解在属性上;为属性提供 setting 方法
@Getter:注解在属性上;为属性提供 getting 方法
@Log4j :注解在类上;为类提供一个 属性名为log 的 log4j 日志对象
@NoArgsConstructor:注解在类上;为类提供一个无参的构造方法
@AllArgsConstructor:注解在类上;为类提供一个全参的构造方法

Demo演示:

package com.againfly.test;

import lombok.Setter;
import lombok.ToString;
import lombok.extern.slf4j.Slf4j;

/**
 * Created by Jecced on 2017/10/20
 */
@Setter
@ToString
@Slf4j
public class LombokTest {
    private int age;
    private String name;

    public static void main(String[] args){
        LombokTest test = new LombokTest();
        test.setAge(18);
        test.setName("Jecced");
        log.info("Bean: {}",test.toString());
    }
}

显示结果:

/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Cont...
2017-10-20 12:00:34 INFO  LombokTest:21 - Bean: LombokTest(age=18, name=Jecced)

Process finished with exit code 0

 

赞(0) 打赏
如果文章对你有帮助,欢迎你来评价反馈。AgainFly » lombok-简化你的代码

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  • Q Q(选填)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏