首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Lombok学习

Lombok学习

作者头像
神秘的寇先森
发布于 2019-10-22 15:32:30
发布于 2019-10-22 15:32:30
65800
代码可运行
举报
文章被收录于专栏:Java进阶之路Java进阶之路
运行总次数:0
代码可运行

一:简单介绍

1.Lombok是什么

Lombok是一个Java库,能自动插入编辑器并构建工具,简化Java开发。通过添加注解的方式,不需要为类编写getter或eques等常规方法,同时可以自动化日志变量。官网链接 简而言之:Lombok能以简单的注解形式来简化java代码,提高开发人员的开发效率。

2.Lombok使用

使用Lombok需要的开发环境Java+Maven+IntelliJ IDEA或者Eclipse(安装Lombok Plugin) 1.打开IDEA的setting 2.找到plugins,选择Browse repositories 3.搜索lombok ,点击安装 ,安装完成重启IDEA 4.在项目中添加Lombok依赖

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.4</version>
    <scope>provided</scope>
</dependency>

5.在对应的类或者方法上使用对应注解

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class WC {
    /**
     * word
     */
    public String word;

    /**
     * 出现的次数
     */
    public long count;
}

二:常用注解讲解

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@Setter 注解在类或字段,注解在类时为所有字段生成setter方法,注解在字段上时只为该字段生成setter方法。
@Getter 使用方法同上,区别在于生成的是getter方法。
@ToString 注解在类,添加toString方法。
@EqualsAndHashCode 注解在类,生成hashCode和equals方法。
@NoArgsConstructor 注解在类,生成无参的构造方法。
@RequiredArgsConstructor 注解在类,为类中需要特殊处理的字段生成构造方法,比如final和被@NonNull注解的字段。
@AllArgsConstructor 注解在类,生成包含类中所有字段的构造方法。
@Data 注解在类,生成setter/getter、equals、canEqual、hashCode、toString方法,如为final属性,则不会为该属性生成setter方法。
@Slf4j 注解在类,生成log变量,严格意义来说是常量,不用自己定义log常量,减少代码数量。
private static final Logger log = LoggerFactory.getLogger(UserController.class);

三:重点注解学习

1.@Builder 实战使用

如果对建造者设计模式不太清楚的,可以先了解一下:建造者模式

@Builder注解为你的类生成相对略微复杂的构建器API。@Builder可以让你以下面显示的那样调用你的代码,来初始化你的实例对象:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Person.builder()
    .name("Adam Savage")
    .city("San Francisco")
    .job("Mythbusters")
    .job("Unchained Reaction")
    .build();

@Builder可以放在类,构造函数或方法上。 虽然放在类上和放在构造函数上这两种模式是最常见的用例,但@Builder最容易用放在方法的用例来解释 使用@Builder注释的方法可以帮助我们完成一下一些事情:

  1. 一个名为FooBuilder的内部静态类,并具有和实体类形同的属性(称为构建器)。
  2. 在构建器中:对于目标类中的所有的属性和未初始化的final字段,都会在构建器中创建对应属性;
  3. 在构建器中:创建一个无参的default构造函数。
  4. 在构建器中:对于实体类中的每个参数,都会对应创建类似于“setter”的方法,只不多方法名与该参数名相同。 并且返回值是构建器本身(便于链式调用),如上例所示。
  5. 在构建器中:一个build()方法,调用此方法,就会根据设置的值进行创建实体对象。
  6. 在构建器中:同时也会生成一个toString()方法。
  7. 在实体类中:会创建一个builder()方法,它的目的是用来创建构建器。
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@Builder
public class User {
    private String username;
    private String password;
}

// 编译后:
public class User {
    private String username;
    private String password;
    User(String username, String password) {
        this.username = username; this.password = password;
    }
    public static User.UserBuilder builder() {
        return new User.UserBuilder();
    }

    public static class UserBuilder {
        private String username;
        private String password;
        UserBuilder() {}

        public User.UserBuilder username(String username) {
            this.username = username;
            return this;
        }
        public User.UserBuilder password(String password) {
            this.password = password;
            return this;
        }
        public User build() {
            return new User(this.username, this.password);
        }
        public String toString() {
            return "User.UserBuilder(username=" + this.username + ", password=" + this.password + ")";
        }
    }
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019.10.20 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
shell中 的 export命令
语  法:export [-fnp][变量名称]=[变量设置值] 补充说明:在shell中执行程序时,shell会提供一组环境变量。export可新增,修改或删除环境变量,供后续执行的程序使用。export的效力仅限于该次登陆操作。 参  数:  -f  代表[变量名称]中为函数名称。  -n  删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。  -p  列出所有的shell赋予程序的环境变量。
全栈程序员站长
2022/10/04
1.4K0
shell脚本export变量只限脚本内么_shell脚本调用oracle存储过程
用sh运行脚本后,在当前shell利用命令env查看环境变量,但是却没有fdu变量,难道是因为我的export语句没有生效?
全栈程序员站长
2022/10/04
1.6K0
Linux命令(49)——export命令(builtin)
export命令为Shell内建命令,用于设置或显示环境变量,环境变量包含变量与函数。
恋喵大鲤鱼
2018/11/21
4.4K0
Linux下export命令和source命令与环境变量设置「建议收藏」
环境变量广泛用于程序运行环境的设置。从Linux shell的角度来看,环境变量无非就是shell脚本的变量而已。从这个角度理解环境变量,就能理解设置环境变量的那些命令究竟在做什么。
全栈程序员站长
2022/10/04
6.1K0
macOS和Linux下source和export命令
和sh、bash相似但不一样,下面看一下他们的区别: 1.sh filename重新建立一个子shell,在子shell中执行脚本里面的语句,该子shell继承父shell的环境变量,但子shell无论怎么改变变量都不会被带回父shell。 2.source filename这个命令其实只是简单地读取脚本里面的语句依次在当前shell里面执行,没有建立新的子shell。那么脚本里面所有新建、改变变量的语句都会保存在当前shell里面。
全栈程序员站长
2022/10/02
1.7K0
【Shell】环境变量 自定义变量 特殊变量
是系统提供的共享变量.是linux系统加载Shell的配置文件中定义的变量共享给所有的Shell程序使用
陶然同学
2023/10/23
8520
【Shell】环境变量 自定义变量 特殊变量
shell变量详解
在编程中,我们总有一些数据需要临时存放在内存,以待后续使用时快速读出。先了解一下计算机的存储单位吧。
星哥玩云
2022/09/15
6680
shell变量详解
linux命令export什么意思_shell脚本执行oracle语句
在 shell 中执行程序时,shell 会提供一组环境变量。export 可新增,修改或删除环境变量,供后续执行的程序使用。export 的效力仅限于该次登陆操作。
全栈程序员站长
2022/10/04
1.3K0
CentOS中环境变量和配置文件
bash shell用一个叫做 环境变量(environment variable) 的特性来存储有关shell会话和工作环境的信息。即允许在内存中存储数据,使得在程序或shell中运行的脚本能够访问它们。
Ryan-Miao
2018/10/15
2K0
source命令
source命令,之前一直用来加载环境变量的,source一下然后执行某个sh,使其环境变量生效,但对细节没有追究;
千往
2019/07/10
2.1K0
《Linux命令行与shell脚本编程大全》 第六章环境变量
很多程序和脚本都通过环境变量来获取系统信息、存储临时数据和配置信息。 6.1 什么是环境变量: bash shell用一个叫环境变量(environment variable)的特性来存储有关shell会话和工作环境的信息。 这项特性允许在内存中存储数据,以便程序能轻松访问到它们。 在bash shell中,分两类: 全局变量:对于shell会话和所有生成的子shell都是可见的 局部变量:只对创建的它们的shell可见 6.1.1全局环境变量 查看全局变量,  $env    $printenv 查看某个
xcywt
2018/01/11
1.1K0
《Linux命令行与shell脚本编程大全》 第六章环境变量
bass reducer什么意思_map filter foreach区别
对于一些环境变量的配置文件,如想使更改后立即生效,多用 souce +file 执行后即可。如/etc/profile 里加了配置,
全栈程序员站长
2022/09/20
2210
shell编程入门_unix编程
(4)执行写好的脚本语言:bash或sh命令 通过路径的方式:bash或sh 相对路径执行shell脚本
全栈程序员站长
2022/11/16
1.5K0
shell编程入门_unix编程
export在linux中用法_设置环境变量命令
Linux 命令详解(一)export 命令 – Tinywan – 博客园 (cnblogs.com)
全栈程序员站长
2022/10/04
1.9K0
【linux命令讲解大全】198.Shell命令解析:export和exportfs的用途和参数解释
Q:对变量或函数设置导出属性有什么用? A:它们会成为环境变量,可以在脚本中访问它们,尤其是脚本中调用的子进程需要时。
全栈若城
2024/03/02
6380
Linux的shell命令——变量用法
在Linux的Shell脚本中,变量是用来存储和操作数据的符号名称。下面是关于Linux Shell中变量的详细说明:
红目香薰
2023/10/11
1.6K0
Linux的shell命令——变量用法
在bash中export命令作用是什么_bash:no such file or directory
export export命令将会使得被 export 的变量在运行的脚本(或shell)的所有的子进程中都可用. 不幸的是,没有办法将变量export 到父进程(就是调用这个脚本或shell 的进程)中. 关于export 命令的一个重要的使用就是用在启动文件中,启动文件是用来初始化并且 设置环境变量,让用户进程可以存取环境变量
全栈程序员站长
2022/10/02
3.7K0
export命令[通俗易懂]
export命令用于将shell变量输出为环境变量,或者将shell函数输出为环境变量。 一个变量创建时,它不会自动地为在它之后创建的shell进程所知。而命令export可以向后面的shell传递变量的值。当一个shell脚本调用并执 行时,它不会自动得到原为脚本(调用者)里定义的变量的访问权,除非这些变量已经被显式地设置为可用。export命令可以用于传递一个或多个变量的值到任何后继脚本。
全栈程序员站长
2022/10/04
2.8K0
Shell编程从看懂到看开①(Shell概述、变量、运算符、条件判断)
Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。==Shell 既是一种命令语言(可以理解为命令行解释器),又是一种程序设计语言。==
十八岁讨厌编程
2022/12/10
9480
Linux系列教程(二十二)——Linux的bash变量
IT可乐
2018/01/04
1.4K0
Linux系列教程(二十二)——Linux的bash变量
推荐阅读
相关推荐
shell中 的 export命令
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档