软件开发架构师

编码神器Lombok,学会后开发效率至少提高一倍!

java 19 2020-05-19 10:16

Lombok会利用注解自动生成javaBean中的getter、setter、equals、toString等一系列方法,大大提供开发效率,本文详细介绍下Lombok的安装及使用。

本文目录

一、Lombok介绍二、Lombok安装三、Lombok使用四、代码实战1.User实体类2.主类五、运行并查看效果六、常用注解说明

一、Lombok介绍

官网上介绍如下:

Project Lombok is a java library that automatically plugs into your editor and build tools, spicing up your java.
Never write another getter or equals method again, with one annotation your class has a fully featured builder, Automate your logging variables, and much more.

大致意思是:Lombok是一个Java库,能自动插入编辑器并构建工具,简化Java开发。通过添加注解的方式,不需要为类编写getter或eques方法,同时可以自动化日志变量。

二、Lombok安装

打开IDEA,在File->Settings->Plugins中搜索lombok,点击安装然后重启IEDA即可。

三、Lombok使用

Lombok的使用跟引用jar包一样,pom.xml中添加依赖即可:

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.16.20</version>
    <scope>provided</scope>
</dependency>

四、代码实战

1.User实体类

User实体类代码如下:

import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * User实体类
 */

@NoArgsConstructor
@Data
public class User {

    private String name;
    private Integer age;
}

2.主类

主类代码如下:

public class Main {

    public static void main(String[] args) {
        User user = new User();
        user.setName("张三");
        user.setAge(11);
        System.out.println(user.getName()+","+user.getAge());
    }
}

五、运行并查看效果

User类中没有手写get和set方法,代码没有报错,运行后打印预期结果:

使用Lombok后打印用户信息:张三,11

六、常用注解说明

  • @Data 注解在类,生成setter、getter、equals、canEqual、hashCode、toString方法,如为final属性,则不会为该属性生成setter方法。
  • @Setter 注解在类或字段,注解在类时为所有字段生成setter方法,注解在字段上时只为该字段生成setter方法。
  • @Getter 使用方法同上,区别在于生成的是getter方法。
  • @ToString 注解在类,添加toString方法。
  • @EqualsAndHashCode 注解在类,生成hashCode和equals方法。
  • @NoArgsConstructor 注解在类,生成无参的构造方法。
  • @RequiredArgsConstructor 注解在类,为类中需要特殊处理的字段生成构造方法,比如final和被@NonNull注解的字段。
  • @AllArgsConstructor 注解在类,生成包含类中所有字段的构造方法。
  • @Slf4j 注解在类,生成log变量,严格意义来说是常量。

推荐阅读

1.Spring Boot配置过滤器的两种方式
2.Spring Boot统一异常处理实战
3.从技术的角度分析下为什么不要在网上发“原图”
4.利用Spring Boot+zxing,生成二维码还能这么简单
5.Spring Boot之Profile--快速搞定多环境使用与切换


限时领取免费Java相关资料,涵盖了Java、Redis、MongoDB、MySQL、Zookeeper、Spring Cloud、Dubbo/Kafka、Hadoop、Hbase、Flink等高并发分布式、大数据、机器学习等技术。
关注下方公众号即可免费领取:

Java碎碎念公众号Java碎碎念公众号

 

文章评论