Lombok

强烈推荐几款IDEA开发必备的插件,实测非常好用

戏子无情 提交于 2020-04-21 04:57:08
文章目录 1、CodeGlance 2、RestfulToolkit 3、Easy Code 4、GsonFormat 5、Statistic 6、Rainbow Brackets 7、Translation 8、Lombok 9、Maven Helper 10、Alibaba Java Code Guidelines 1、CodeGlance    拖动浏览代码更加方便,还有放大镜功能。 2、RestfulToolkit    一套 RESTful 服务开发辅助工具集,完美代替postman。 根据 URL 直接跳转到对应的方法定义 ( or Ctrl Alt N ); 提供了一个 Services tree 的显示窗口; 一个简单的 http 请求工具; 在请求方法上添加了有用功能::复制生成 URL,复制方法参数… 其他功能::java 类上添加 Convert to JSON 功能,格式化 json 数据 ; 3、Easy Code    它可以直接对数据的表生成entity、controller、service、dao、mapper,无需任何编码,简单而强大。 4、GsonFormat    Json转Java类,该插件可以加快开发进度,使用非常方便,效率高。 5、Statistic    统计插件,查看你的代码数据。比如整个项目的代码总行数,分别统计各个类型文件的总行数

第三方工具系列--Lombok常用注解

核能气质少年 提交于 2020-04-21 03:18:57
原创作品,可以转载,但是请标注出处地址: https://www.cnblogs.com/V1haoge/p/9329798.html Lombok注解解析: @NonNull   使用在方法的参数或者构造器的参数上,用于生成null验证。   Lombok可以识别任何第三方工具的字段上标注的@NonNull名称的注解,并在使用@Data、@AllArgsContruct进行生成方法和构造器时进行null判断。   而Lombok的@NonNull注解使用在参数之上,仅仅作用到你自定义的方法和构造器之上。   null判断会采用: 1 if (param == null ) 2 throw new NullPointerException("param is marked @NonNull but is null");   的形式插入,并且会在你方法的开头和构造器的this,super之类的调用之后插入。 @Cleanup   使用在资源之前,用于表示资源可以被完美自动释放(在代码的执行路径超出资源范围之前)。   将该注解标注在表示资源的变量之上,比如:@Cleanup InputStream in = new FileInputStream("some/file");   这样一来,在资源范围结束的位置会自动调用in.close()方法进行资源释放。这个调用会在try..

SpringBoot整合log4j2进行日志配置及防坑指南

时光怂恿深爱的人放手 提交于 2020-04-19 07:06:15
写在前面 最近项目经理要求将原先项目中的日志配置logBack,修改为log4j2,据说是log4j2性能更优于logback,具体快多少,网上有说快10多倍,看来还是很快的,于是新的一波挑战又开始了,网上查找各种资料,官方文档各种啃,最终实现了迁移,所以,鉴于此,特记录一下,谨防遗忘。 SpringBoot整合log4j2进行日志配置及防坑指南 1、Log4j2优点 具体优点可以参考官方文档: https://logging.apache.org/log4j/2.x/ 我这边只简单说一下: 相比与其他的日志系统,log4j2丢数据的情况少;在多线程环境下,性能高于logback等10倍以上;利用jdk1.5并发的特性,减少了死锁的发生 这里列举一下,网上关于相关日志系统的性能测试图,仅做参考 2、SpringBoot整合Log4j2配置 2.1> 导入依赖 可以参考SpringBoot官方文档: https://docs.spring.io/spring-boot/docs/1.5.19.RELEASE/reference/htmlsingle/#howto-configure-log4j-for-logging <!-- 排除 Spring-boot-starter 默认的日志配置 --> < dependency > < groupId > org

裂墙推荐!IntelliJ IDEA 常用插件一览,让效率成为习惯

家住魔仙堡 提交于 2020-04-18 17:36:56
点击上方“朱小厮的博客”,选择“ 设为星标” 后台回复" 1024 "领取公众号专属资料 一、官方工具 IntelliJ IDEA 默认安装并提供了非常多的工具,比如 Git Integration、Maven Integration、Markdown support、SSH Remote Run 等。其中有很多好用,但是不为人知的工具。 1. REST client 在日常开发过程中,我们或多或少都涉及到 API 接口的测试。例如,有的小伙伴使用 Chrome 的 Postman 插件,或者使用火狐的 restclient 等工具。事实上,这些工具是测试 API 接口非常有效的方式之一,笔者之前也一直使用 Postman 完成 API 接口的测试工作。今天,笔者推荐另外一个非常好用的小工具,能够帮助读者快速测试 API 接口。这个工具就是 IDEA 的 Editor REST Client。IDEA 的 Editor REST Client 在 IntelliJ IDEA 2017.3 版本就开始支持,在 2018.1 版本添加了很多的特性。事实上,它是 IntelliJ IDEA 的 HTTP Client 插件。详细使用文档,参考:http://blog.720ui.com/2018/restclient_use/ 2. UML Support 如果需要研究源码,内置 UML

java设计模式--Builder模式

瘦欲@ 提交于 2020-04-17 17:22:29
一.Builder模式 二.使用例子 三.Spring中的Builder模式 Builder模式,构建者、构造者模式,在《图解设计模式》中归为 生成实例 一栏,该模式用于组装具有复杂结构的实例;     当需要逐步获取对象的初始值时,可以使用Builder模式; 一.Builder模式角色 Builder:建造者,Builder角色负责定义用来生成实例的接口API,Builder角色中准备了用于生成实例的具体方法; ConcreteBuilder:具体的建造者,负责实现Builder接口的的类,定义了生成实例时实际调用的方法,定义了获取最终生成结果的方法; Director:监工,负责使用Builder角色的接口来生成实例,不依赖于ConcreteBuilder; 二.使用例子 Demo:比如有一段预约信息,将其解析为 预约 对象; 预约信息如下:"Date, November 5, Headcount, 250, City, Shanghai, DollarsPerHead, 60,HasSite, false"; date为预约日期,headCount为预期来人数,city为城市,DollarsPerHead为人均预算,hasSite为是否提供地址(比如预约某场演出,是否给表演者提供地点了); 类结构图: 预约信息 Reservation.java @Getter

Mac eclipse 安装 lombok 插件

前提是你 提交于 2020-04-16 16:27:51
【推荐阅读】微服务还能火多久?>>> lombok官网下载lombok.jar包 到eclipse安装目录修改eclipse.ini文件,在最末尾增加 -javaagent:/Users/zlp/develop/lombok/lombok.jar cd /Applications/Eclipse.app/Contents/Eclipse vi eclipse.ini 重启eclipse(刷新项目或者Maven update project) 来源: oschina 链接: https://my.oschina.net/u/4198095/blog/3236648

2-13 Lombok框架讲解

有些话、适合烂在心里 提交于 2020-04-13 20:12:38
【今日推荐】:为什么一到面试就懵逼!>>> 创建一个演示目录lomboksshow目录,然后创建类UserModel 这是我们一个model类应该有的就是 无参的构造方法、私有属性、然后是属性的getter和setter 生成getter和setter getter和setter的代码对我们来说 几乎没有什么意义 需要加上注解@Data即可。这样所有的getter和setter的代码就可以删除了。 再创建一个测试类,这里我们用了setId。 set方法是可以 用的 安装Lombok 编译期间帮我们做的生成,开发期间如果想用编译期间的内容,就必须要安装这个插件了。 builder的作用 初始类的时候,让属性以这种连接串的形式赋值 日志管理 直接加上注解就可以使用日志。省略了日志初始化的代码。 流输出 一般的流操作 写上注解后@Cleanup 就不需要关闭这个流了。Lombok在编译器发现了注解@Cleanup会自动补齐try catch finally。把这个流在finally里面做close 结束 来源: oschina 链接: https://my.oschina.net/u/4259099/blog/3233328

2、lombok的注解影响不了父类的属性

跟風遠走 提交于 2020-04-12 16:34:27
lombok的注解影响不了父类的属性,只能影响当前类的属性。例子如下: 例子1:子类Test中使用 @Setter、@Getter ,并不能给父类的属性id生成Setter、Getter。 public class BaseEntity{ private String id; } @Getter @Setter public class Test extends BaseEntity{ private String code; private String name; } 例子2:子类Test中使用 @Builder ,也不能使用Builder模式给父类的id设置值。 public class BaseEntity{ private String id; } @Builder public class Test extends BaseEntity{ private String code; private String name; public static void main(String[] args) { Test.builder().id("123") //错误,没有这个方法 } } 在子类和父类中都使用 @SuperBuilder ,去掉 @Builder ,可以实现使用Builder模式给父类的属性设置值。但是这个在lombok版本1.18.8是实验性质的功能

Lombok 安装、入门 -spice up your java

时间秒杀一切 提交于 2020-04-12 16:34:07
简介 官网地址: https://projectlombok.org 提供的注解: https://projectlombok.org/features/index.html 下载链接: https://projectlombok.org/download.html 安装方式: 使用 lombok 是需要安装的,如果不安装,IDE 则无法解析 lombok 注解 java -jar lombok-1.16.6.jar 目前最新的版本是: 1.16.6 然后按照提示进行安装,如果不能检测到安装的Eclipse,手工指定Eclipse的安装目录即可。 安装后,会在Eclipse安装目录中增加lombok.jar, 并在eclipse.ini中增加如下一行: -javaagent:lombok.jar 安装截图: 如何在maven项目中引入 注意:代码compile后,会根据lombok的注解,增加指定的代码 比如使用@Data注解,则编译后的字节码中会为所有属性字段增加getter setter方法 <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.16.6</version> <scope>provided</scope> </dependency>

idea2020版本的lombok不能使用

不打扰是莪最后的温柔 提交于 2020-04-12 15:30:07
在刚刚更新的Idea2020版本出现之后,发现了一个问题,在历史插件没有更新的情况下咱们更新了idea,就会导致插件更新没有及时跟上而导致失效。 个人的解决办法: 官网插件地址: https://plugins.jetbrains.com/plugin/6317-lombok/ 进入官网插件地址进行下载EAP版本 选择version history 查看所有,找到EAP的版本 下载下来之后去idea进行安装覆盖历史的版本,这是临时解决办法,后面若是人家插件更新就可以正常使用了。 安装本地插件方法如下: 来源: oschina 链接: https://my.oschina.net/u/4319747/blog/3230899