金沙澳门官网7817网址:在Android项目中使用Lombok

而lombok就是帮助我们生成这些重复代码的,使用注解的方式在项目编译时帮助我们生成代码,lombok,的官方网址,它帮助程序员避免写一些setter、getter、toString等机械化的代码,在Project的build.gradle文件中添加对apt的依赖,查阅资料后发现作者是使用了lombok插件,通过使用对应的注解

金沙澳门官网7817网址 3

对此IJ这么些IDE工具以来,我们会设置一些插件来支援大家越来越好的展费用付,像lombok正是一款不错的插件,使用阐明的法子在档次编写翻译时推来推去大家转移代码,像getter,setter,tostring等等,它们1般都是部分重新的代码,而lombok正是扶助大家转变那个再次代码的,对于二个IJ的工具以来,如若您不运转编写翻译时申明成效,那么项目在build时会报错!

前言:

逛开源社区的时候无意发现的,用了一段时间,觉得还足以,特此推荐一下。

lombok
提供了简单的笺注的花样来救助我们简化解决壹些不可能不有但出示很臃肿的 java
代码。特别是对于 POJO,光说不做不是本身的品格,先来看看啊。

lombok的法定网站:http://projectlombok.org/

lombok诠释在线支持文书档案:http://projectlombok.org/features/index.

lombok 其实到那里本人就介绍完了,开个噱头,其实官网上有 lombok
三分四十玖秒的摄像讲解,里面讲的也很通晓了,而且还有文档能够参照。在此间本人就不扯太多,先来看一下lombok
的安装,其实这一个官网录制上也有讲到啦

前言

事先写了一晃后台代码,发现后台项目中央银行使了两个很好用的插件——Lombok。它扶助程序员制止写一些setter、getter、toString等机械化的代码,减弱了程序员的教条劳动。既然是Java项目,那么在Android中应该也是能用的,于是在Android项目中也尝试了刹那间。

前言

翻阅开源项指标时候发现小编用了@data申明,在并未有安装lombok在此之前ide提示找不到对应的get、set方法,查阅资料后发觉小编是采用了lombok插件。

翻开build时的诠释

 “Settings > Build >
Compiler > Annotation Processors”

金沙澳门官网7817网址 1

然后再设置lombok插件

金沙澳门官网7817网址 2

在项目里陈设关于lombok的借助项

compileOnly('org.projectlombok:lombok:1.16.20')

最后就能够在代码中运用lombok的诠释了

/**
 * 用户实体
 *
* @Data :注解在类上;提供类所有属性的 getting 和 setting 方法,此外还提供了equals、canEqual、hashCode、toString 方法
* @Setter:注解在属性上;为属性提供 setting 方法
* @etter:注解在属性上;为属性提供 getting 方法
* @og4j :注解在类上;为类提供一个 属性名为log 的 log4j 日志对象
* @oArgsConstructor:注解在类上;为类提供一个无参的构造方法
* @llArgsConstructor:注解在类上;为类提供一个全参的构造方法
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class UserInfo {
    @Id
    private String id;
    @NotNull
    private String name;
    private String email;
}

好了,启用插件评释就提及此处,感激阅读!

 

lombok 注解:

lombok 提供的注明不多,能够参照官方录制的上课和官方文书档案。

lombok申明在线辅助文档:http://projectlombok.org/features/index.

上边介绍多少个自作者常用的 lombok 注明:

@Data:表明在类上;提供类具有属性的 getting 和 setting
方法,别的还提供了equals、canEqual、hashCode、toString 方法
@Setter:注脚在性质上;为属性提供 setting 方法
@Getter:表明在品质上;为属性提供 getting 方法
@Log4j :注明在类上;为类提供一个 属性名称为log 的 log四j 日志对象
@NoArgsConstructor:注脚在类上;为类提供3个无参的构造方法
@AllArgsConstructor:表明在类上;为类提供几个全参的构造方法

下边是归纳示例

1.不使用 lombok 的方案

public class Person {

    private String id;
    private String name;
    private String identity;
    private Logger log = Logger.getLogger(Person.class);

    public Person() {     
    }

    public Person(String id, String name, String identity) {
        this.id = id;
        this.name = name;
        this.identity = identity;
    }

    public String getId() {
        return id;
    }

    public String getName() {
        return name;
    }

    public String getIdentity() {
        return identity;
    }

    public void setId(String id) {
        this.id = id;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setIdentity(String identity) {
        this.identity = identity;
    }
}

2.使用 lombok 的方案:

@Data 
@Log4j
@NoArgsConstructor 
@AllArgsConstructor 
public class Person { 
    private String id; 
    private String name; 
    private String identity; 
} 

地方的三个 java
类,从功用上来看,它们的职能是千篇壹律的,相相比之下,很扎眼,使用 lombok
要精简许多,越发是在类的天性较多的情事下,同时也防止了改动字段名字时候忘记修章名所犯的初级错误。

鉴于自家在测试类中动用log变量,竟然是飘红的,可是真正编写翻译运转又不会报错,对于性冷淡的本身明明须求找到消除的方案。因而上边专门讲讲基于IDEA+SpringBoot+lombok的应用方案。

依赖

一般来说是Gradle文件配置。因为Lombok的原理是基于申明生成代码,所以必要运用apt。
在Project的build.gradle文件中添加对apt的重视

buildscript {
    repositories {
        jcenter()
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.1.2'
        //添加apt依赖
        classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
    }
}

在app的build.gradle文件中期维修改

//应用apt插件
apply plugin: 'com.neenbedankt.android-apt'
...

dependencies {
        compile 'org.projectlombok:lombok:1.16.8'  //添加lombok依赖
        ...
}

介绍

Lombok是五个能够通过不难的注释情势来协理大家简化化解一些亟须有但出示很臃肿的Java代码的工具,通过选拔相应的笺注,能够在编写翻译源码的时候生成对应的措施。
lombok
的法定网站:http://projectlombok.org/


目标

使用Lombok升高支付效用。

代码

lombok使用Annotation来表明有个别类要求丰硕getter,setter等,下边是行使lombok和不应用lombok的对照。

@Setter
@Getter
@ToString
public class XXX implements Entity {

    String id;

}

public class XXX implements Entity {

    String id;

    public String getId(){
        return this.id;
    }

    public void setId(String id){
        this.id = id;
    }
}

能够看出大家不再须要手工去写Getter和Setter了。

lombok的安装

在IDEA下 file->settings-Plugins搜索lombok安装插件

金沙澳门官网7817网址 3

安装lombok插件

并在项目中添加lombok重视

     <dependency>
         <groupId>org.projectlombok</groupId>
         <artifactId>lombok</artifactId>
         <version>1.16.14</version>
     </dependency>