亚洲必赢娱乐第一平台Compiler时开启插件的注解功能,Boot中使用小插件Lombok

亚洲必赢娱乐第一平台 2

拉开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;
}

亚洲必赢娱乐第一平台 ,好了,启用插件申明就提及这里,感激阅读!

 

Data


我们使用@Data申明就足以分包@ToString、@Getter、@Setter方法,当然我们选拔构造函数时依然亟需独自增添注明,上边大家修改实体类增加@Data申明代码如下所示:

/*@Getter
@Setter
@ToString*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class UserBean
{
    //名称
    private String name;
    //年龄
    private int age;
    //家庭住址
    private String address;

    public String getAddress() {
        return "sss"+address;
    }
}

咱俩将@ToString、@Getter、@Setter多少个表明注释掉后增添@Data,依照法定所说那时我们的测验类应该不晤面世其余的可怜,大家开采测量检验类查看是不是正规。

查阅后果真,未有出现其余的丰富,那也证实了@Data注脚确实含有了地点四个评释。

对于IJ这么些IDE工具以来,大家会安装一些插件来帮助咱们越来越好的开张开荒,像lombok便是一款不错的插件,使用表明的主题在项目编译时拉扯大家转换代码,像getter,setter,tostring等等,它们日常都以有的双重的代码,而lombok正是帮忙大家转换那一个重新代码的,对于一个IJ的工具以来,假设您不运维编写翻译时申明作用,那么项目在build时会报错!

lombok 注解:

lombok 提供的疏解相当的少,可以参照官方录制的执教和合爱沙尼亚语档。

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

上边介绍多少个自个儿常用的 lombok 注脚:

@Data:评释在类上;提供类具备属性的 getting 和 setting
方法,另外还提供了equals、canEqual、hashCode、toString 方法
@Setter:表明在品质上;为属性提供 setting 方法
@Getter:注脚在性质上;为属性提供 getting 方法
@Log4j :注明在类上;为类提供二个 属性名称为log 的 log4j 日志对象
@NoArgsConstructor:表明在类上;为类提供三个无参的构造方法
@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的运用方案。

目标

使用Lombok增加花费效能。

塑造项目

本章的类型不关乎数额访谈,所以增多的依赖也正如少,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文件时会自动将钦点模板的内容写入。

创办实体

为了方便演示lombok的神奇之处,大家大约创制一个客户实体,基于该实体进行配置lombok注解,实体代码如下所示:

public class UserBean
{
    //名称
    private String name;
    //年龄
    private int age;
    //家庭住址
    private String address;
}

上边我们先来看看大家最常用的getter/setter基于lombok什么样行使。

前言:

逛开源社区的时候无意开掘的,用了一段时间,认为还足以,特此推荐一下。

lombok
提供了轻巧的讲明的花样来帮衬大家简化解决一些亟须有但展现很臃肿的 java
代码。非常是对此 POJO,光说不做不是自身的品格,先来看看啊。

lombok的官网:http://projectlombok.org/

lombok证明在线协助文书档案:http://projectlombok.org/features/index.

lombok 其实到此处本人就介绍完了,开个笑话,其实官英特网有 lombok
伍分四十九秒的摄像疏解,里面讲的也很精晓了,并且还应该有文书档案能够参见。在那地自身就不扯太多,先来看一下lombok
的设置,其实那个官方网站摄像上也是有讲到啦

发表评论

电子邮件地址不会被公开。 必填项已用*标注