springboot~Compiler时开启插件的注解功能

对此IJ那几个IDE工具以来,大家会安装1些插件来扶持大家越来越好的进展开发,像lombok就是一款不错的插件,使用申明的措施在项目编写翻译时拉扯大家转移代码,像getter,setter,tostring等等,它们一般都以有的双重的代码,而lombok便是支援大家转移这一个再一次代码的,对于贰个IJ的工具以来,要是您不运行编写翻译时表明作用,那么项目在build时会报错!

营造项目

本章的品种不涉及数量访问,所以添加的依靠也正如少,pom.xml配置文件如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.ozan</groupId>
    <artifactId>sell</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>sell</name>
    <description>Demo project for Spring Boot</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.10.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

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

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>


</project>

lombok的正视性仅仅唯有四个,lombok基于配置在编写翻译class文件时会自动将点有名的模特板的内容写入。

依赖

如下是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依赖
        ...
}

前言

翻阅开源项指标时候发现作者用了@data评释,在一贯不设置lombok此前ide提示找不到对应的get、set方法,查阅资料后发现小编是运用了lombok插件。

开启build时的诠释

 "Settings > Build > Compiler > Annotation Processors"

必威官网登录 1

下一场再设置lombok插件

必威官网登录 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 提供了简易的笺注的花样来帮衬我们简消除决壹些不能够不有但出示很臃肿的 java 代码。尤其是对此 POJO,光说不做不是自笔者的风骨,先来探视吧。

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

lombok申明在线帮忙文书档案:http://projectlombok.org/features/index.

lombok 其实到此地自个儿就介绍完了,开个玩笑,其实官网上有 lombok 三分四十九秒的录制讲解,里面讲的也很掌握了,而且还有文书档案能够参见。在那边作者就不扯太多,先来看一下lombok 的装置,其实这一个官网录制上也有讲到啦

AS插件

添加了依靠之后,纵然编写翻译时是天经地义的。然而因为Android Studio语法识别器不认识@Getter和@Setter注解,所以供给添加Lombok插件。
在设置页面 -> plugins -> browser repository -> 搜索lombok -> install
事业有成安装之后,再写比如XXX.getId()方法时AS就不会报错了。

上面是2个例证:

使用lombok之前:

public class User {
    private String id;
    private int age;
    private String name;

    public String getId() {
        return id;
    }

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

    public int getAge() {
        return age;
    }

     public void setAge(int age){
        this.age=age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name){
        this.name=name;
    } 
    public User(String id,int age,String name){
        this.id=id;
        this.age=age;
        this.name=name;
    }
}

使用lombok之后:

@data
@AllArgsConstructor
public class User {
    private String id;
    private int age;
    private String name;
}

NoArgsConstructor

当然除了全体参数的构造函数,Lombok还提供了未曾子舆数的构造函数,使用方法与@AllArgsConstructor1致。

到此地恐怕你就有问号了,作者为了2个类添加这么多申明麻烦呢?还不及工具生成getter/setter来的快呢,那好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的注解:

lombok 注脚在线协助文书档案:http://projectlombok.org/features/index.
上面介绍多少个常用的 lombok 注明:
@Data :申明在类上;提供类具有属性的 getting 和 setting 方法,
别的还提供了equals、canEqual、hashCode、toString 方法
@Setter:证明在性质上;为属性提供 setting 方法
@Getter:表明在品质上;为属性提供 getting 方法
@Log四j :注脚在类上;为类提供一个 属性名字为log 的 log四j 日志对象
@NoArgsConstructor:声明在类上;为类提供七个无参的构造方法
@AllArgsConstructor:声明在类上;为类提供多个全参的构造方法


本文由必威官网登录发布于游戏编程设计,转载请注明出处:springboot~Compiler时开启插件的注解功能