当前位置: 首页 > news >正文

网站建设 荆州/seo霸屏软件

网站建设 荆州,seo霸屏软件,企业网站设计话术,wordpress网站加入商城https://www.cnblogs.com/holten/p/5729226.html lombok简介 lombok是暑假来到公司实习的时候发现的一个非常好用的小工具,刚见到的时候就感觉非常惊艳,有一种相见恨晚的感觉,用了一段时间之后感觉的确挺不错,所以特此来推荐一下。…

https://www.cnblogs.com/holten/p/5729226.html

lombok简介

lombok是暑假来到公司实习的时候发现的一个非常好用的小工具,刚见到的时候就感觉非常惊艳,有一种相见恨晚的感觉,用了一段时间之后感觉的确挺不错,所以特此来推荐一下。

lombok的官方地址:https://projectlombok.org/

lombok的Github地址:https://github.com/rzwitserloot/lombok

那么lombok到底是个什么呢,lombok是一个可以通过简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 Java 代码的工具,简单来说,比如我们新建了一个类,然后在其中写了几个字段,然后通常情况下我们需要手动去建立getter和setter方法啊,构造函数啊之类的,lombok的作用就是为了省去我们手动创建这些代码的麻烦,它能够在我们编译源码的时候自动帮我们生成这些方法。

lombok能够达到的效果就是在源码中不需要写一些通用的方法,但是在编译生成的字节码文件中会帮我们生成这些方法,这就是lombok的神奇作用。

虽然有人可能会说IDE里面都自带自动生成这些方法的功能,但是使用lombok会使你的代码看起来更加简洁,写起来也更加方便。

lombok安装

lombok的安装跟一般引用jar包没有什么区别,可以到官网上下载最新的jar包,然后导入到项目里面就好啦。

Maven添加依赖

<dependencies><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.16.10</version></dependency>
</dependencies>

Intellij idea开发的话需要安装Lombok plugin,同时设置 Setting -> Compiler -> Annotation Processors -> Enable annotation processing勾选。

lombok使用

lombok使用过程中主要是靠注解起作用的,官网上的文档里面有所有的注解,这里不一一罗列,只说明其中几个比较常用的。

@NonNull: 可以帮助我们避免空指针。

使用lombok:

import lombok.NonNull;public class NonNullExample extends Something {private String name;  public NonNullExample(@NonNull Person person) {super("Hello");this.name = person.getName();}
}

不使用lombok:

public class NonNullExample extends Something {private String name;  public NonNullExample(@NonNull Person person) {super("Hello");if (person == null) {throw new NullPointerException("person");}this.name = person.getName();}
}

@Cleanup: 自动帮我们调用close()方法。

使用lombok:

import lombok.Cleanup;
import java.io.*;
public class CleanupExample {public static void main(String[] args) throws IOException {@Cleanup InputStream in = new FileInputStream(args[0]);@Cleanup OutputStream out = new FileOutputStream(args[1]);byte[] b = new byte[10000];while (true) {int r = in.read(b);if (r == -1) break;out.write(b, 0, r);}}
}

不使用lombok:

import java.io.*;public class CleanupExample {public static void main(String[] args) throws IOException {InputStream in = new FileInputStream(args[0]);try {OutputStream out = new FileOutputStream(args[1]);try {byte[] b = new byte[10000];while (true) {int r = in.read(b);if (r == -1) break;out.write(b, 0, r);}} finally {if (out != null) {out.close();}}} finally {if (in != null) {in.close();}}}
}

@Getter / @Setter: 自动生成Getter/Setter方法

使用lombok:

    import lombok.AccessLevel;import lombok.Getter;import lombok.Setter;public class GetterSetterExample {@Getter @Setter private int age = 10;@Setter(AccessLevel.PROTECTED) private String name;}

不使用lombok:

public class GetterSetterExample {private int age = 10;private String name;public int getAge() {return age;}public void setAge(int age) {this.age = age;}protected void setName(String name) {this.name = name;}
}

@NoArgsConstructor: 自动生成无参数构造函数。

@AllArgsConstructor: 自动生成全参数构造函数。

@Data: 自动为所有字段添加@ToString, @EqualsAndHashCode, @Getter方法,为非final字段添加@Setter,和@RequiredArgsConstructor!

@ToString

生成toString()方法,默认情况下,它会按顺序(以逗号分隔)打印你的类名称以及每个字段。可以这样设置不包含哪些字段@ToString(exclude = "id") / @ToString(exclude = {"id","name"})如果继承的有父类的话,可以设置callSuper 让其调用父类的toString()方法,例如:@ToString(callSuper = true)

import lombok.ToString;
@ToString(exclude = {"id","name"})
public class User {private Integer id;private String name;private String phone;
}

还有其他一些比如自动生成日志对象等等之类的注解可以到官方网站去了解,就不一一列举了。

官方文档https://projectlombok.org/features/index.html


http://www.lbrq.cn/news/1476451.html

相关文章:

  • 怎么把园林设计网站做的酷炫/推广引流方法与渠道
  • 网站建设应遵循的原则/外贸网站优化
  • 那个网站做二手设备比较好/友链网
  • 陕西省交通建设集团西长分公司网站/sem是什么品牌
  • 宣传网站建设方案模板下载/网络营销策划案
  • 如何把自己做的网站放到微信上/品牌推广方案范文
  • 大型营销型网站制作/网络营销的作用
  • 国内知名公关公司/快速整站排名seo教程
  • 网站开发流程数据库/杭州推广平台有哪些
  • 中国建筑八个局排名/排名优化系统
  • 网站制作现状解决方案/sem优化托管
  • 多用户商城网站建设方案/网络广告创意
  • 网站建设推广人员/网站seo视频狼雨seo教程
  • 天津电子商务网站建设/郑州seo联系搜点网络效果好
  • 母婴会所 网站源码/企业网站设计公司
  • 真人做爰直播网站/网站seo外包公司有哪些
  • 建筑网站带图解/seo优化搜索推广
  • 贸易网站怎么做/处理事件seo软件
  • 表白网站建设/什么推广平台好
  • miniui做的网站/济宁百度推广公司
  • 分类信息网站建设专职/关键词排名关键词快速排名
  • 乐陵310seo/鹤壁网站seo
  • 大庆做网站找谁/搜索大全搜索引擎
  • 福州电子商务网站建设/拓客app下载
  • 怎样在工商局网站做公示/百度seo新站优化
  • 鹏牛网做网站怎么样/外链网站推荐
  • 网站设置在哪里找/百度seo优化哪家好
  • 合肥有多少做网站的/seo网站推广优化
  • 普陀网站建设/百度推广登录入口
  • 简单网站的制作/2020国内十大小说网站排名
  • 基于 LightGBM 的二手车价格预测
  • 深入解析Java Stream Sink接口
  • 原生JS使用svg-pan-zoom库平移和缩放svg
  • 【华为机试】127. 单词接龙
  • elk部署加日志收集
  • MySQL 45讲 16-17