Lombok

Lombok excluding field with @ToString.Exclude is not working

心已入冬 提交于 2020-08-06 09:37:21
问题 I'm using Lombok to remove boilerplate code. I'm attempting to print out an entity to the console but I'm getting a StackOverflowError. The entity has a bidirectional relationship with another entity, so I want to exclude this entity from the toString method. My entity looks like this: @Entity @Data public class Foo { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private long fooId; private String name; @ManyToOne @JoinColumn(name = "barId") @EqualsAndHashCode.Exclude @ToString

2020最新IDEA插件大集合,一款能帮助你写代码的工具是多么重要

孤街醉人 提交于 2020-08-05 22:11:51
摘要 12款为用户精心打造的Idea插件,含盖前后端,另把使用小技巧分享给大家,提高大家的码率,希望对你们有帮助! Lombok Lombok为Java项目提供了非常有趣的附加功能,使用它的注解可以有效的地解决那些繁琐又重复的代码,例如 Setter、Getter、toString、equals、hashCode 以及非空判断等。 举个例子,我们给一个类添加@Getter和@Setter注解: /** * 修改订单费用信息参数 * Created by macro on 2018/10/29. */ @Getter @Setter public class OmsMoneyInfoParam { private Long orderId; private BigDecimal freightAmount; private BigDecimal discountAmount; private Integer status; } Lombok就会为我们自动生成所有属性的Getter和Setter方法。 Free MyBatis Plugin MyBatis扩展插件,可以在Mapper接口的方法和xml实现之间自由跳转,也可以用来一键生成某些xml实现。 我们可以通过Mapper接口中方法左侧的箭头直接跳转到对应的xml实现中去;

Java 程序员必备的 Intellij IDEA 插件

大城市里の小女人 提交于 2020-08-05 17:49:03
来源:柠檬学园 以下是我用过不错的Intellij插件,分享给大家希望能帮到大家。 1. .ignore 地址: https://plugins.jetbrains.com/plugin/7495--ignore 生成各种ignore文件,一键创建git ignore文件的模板,免得自己去写 截图: 2. lombok 地址: https://plugins.jetbrains.com/plugin/6317-lombok-plugin 支持lombok的各种注解,从此不用写getter setter这些 可以把注解还原为原本的java代码 非常方便 截图: 3. p3c 地址: https://plugins.jetbrains.com/plugin/10046-alibaba-java-coding-guidelines 阿里巴巴出品的java代码规范插件 可以扫描整个项目找到不规范的地方 并且大部分可以自动修复 更多可看: https://github.com/alibaba/p3c/tree/master/idea-plugin 4. FindBugs-IDEA 地址: https://plugins.jetbrains.com/plugin/3847-findbugs-idea 检测代码中可能的bug及不规范的位置,检测的模式相比p3c更多, 写完代码后检测下

IntelliJ IDEA 常用插件

谁说我不能喝 提交于 2020-08-05 13:42:03
工欲善其事,必先利其器。本文收集 IntelliJ IDEA 常用插件,持续更新中...... Alibaba Java Coding Guidelines 阿里巴巴《Java 开发手册》配套插件,可以实时检测代码中不符合手册规约的地方,助你码出高效,码出质量。 使用: 当我们违反手册规约时,该插件会自动检测并进行提示。 同时提供了一键检测所有代码规约情况和切换语言的功能。 如果你想修改某条规约的检测规则的话,可以通过设置的 Editor -> Inspections 进行修改。 Easy Code EasyCode 用于 代码自动生成 ,支持模板自定义、导入、导出,方便团队之间共享。 介绍: 基于 IntelliJ IDEA 开发的代码生成插件,支持自定义任意模板(Java,html,js,xml)。 只要是与数据库相关的代码都可以通过自定义模板来生成。支持数据库类型与 java 类型映射关系配置。 支持同时生成生成多张表的代码。每张表有独立的配置信息。完全的个性化定义,规则由你设置。 具体使用见: IntelliJ IDEA 插件 EasyCode(代码自动生成) Lombok Lombok 为 Java 项目提供了非常有趣的附加功能,使用它的注解可以有效的地解决那些繁琐又重复的代码,例如 Setter、Getter、toString、equals、hashCode

Java 14 祭出代码简化大器,Lombok 要被干掉了?

天大地大妈咪最大 提交于 2020-08-05 08:01:05
Java 14 3 月发布距现在已经发布 2 个多月,发布了很多新特性,详细的新特性介绍可以看这篇文章: http://www.javastack.cn/article/2020/java14-has-been-released/ 栈长之前也陆续分享过两篇 Java 14 的新特性: Java 14 之模式匹配,非常赞的一个新特性! Java 14 来势汹汹,这回让空指针无处遁形!! 感觉很好玩,今天再来分享一个新特性: JEP 359: Records (Preview) https://openjdk.java.net/jeps/359 Java 14 祭出大器啊!!! 背景介绍 我们经常听到一些对 Java 的抱怨,"Java 太冗长啰嗦了",Java 确实经常要写很多低级(low)的代码,比如: constructors, getters, equals(), hashCode(), toString() 方法等,是不是感同身受? 如果开发人员为了偷懒而省略其中的某些方法,甚至会带来问题。 基本介绍 Records 是一种新的类申明形式,和枚举类型一样,它是一种受限制的类(class)。 简单来说,Records 就是一种新的语法糖,目的还是为了简化代码,相当于 Lombok 的 @Data 注解,但又不能完全替代,现在还是个预览特性,在未来可能会有变更。

Lombok + Jackson immutables

空扰寡人 提交于 2020-07-31 07:33:45
问题 After updating my project to Spring Boot 1.5.10 Lombok stopped working correctly with Jackson. I mean immutable DTOs creation, when field names in my objects are not same as fields in json request: @Value @Builder public class MyImmutableDto implements Serializable { @JsonProperty("other-field-1-name") private final BigDecimal myField1; @JsonProperty("other-field-2-name") private final String myField2; and a lot of fields there... } So, after updating Spring Boot to 1.5.10 this code isn't

测试开发专题:如何在spring-boot中进行参数校验

这一生的挚爱 提交于 2020-07-29 09:09:24
上文我们讨论了spring-boot如何去获取前端传递过来的参数,那传递过来总不能直接使用,需要对这些参数进行校验,符合程序的要求才会进行下一步的处理,所以本篇文章我们主要讨论spring-boot中如何进行参数校验。 lombok使用介绍 在介绍参数校验之前,先来了解一下lombok的使用,因为在接下来的实例中或有不少的对象创建,但是又不想写那么多的getter和setter,所以先介绍一下这个很强大的工具的使用。 Lombok 是一个可以通过简单的注解形式来帮助我们简化消除一些必须有但显得很臃肿的Java代码的工具,通过使用对应的注解,可以在编译源码的时候生成对应的方法。 添加maven依赖 在pom文件中添加如下内容: <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.10</version> </dependency> 基础注解 @Getter 给类增加get方法 @Setter 给类增加set方法 @Builder 给类增加构建者模式 @AllArgsConstructor 给类增加全参构造方法 @NoArgsConstructor 给类增加无参数构造方法 @RequiredArgsConstructor 按照必填属性增加构造方法

小书MybatisPlus第1篇-整合SpringBoot快速开始增删改查

泪湿孤枕 提交于 2020-07-29 07:54:32
Mybatis Plus官方文档已经很完善了,为什么还要写一个这样的文档? 官方文档注重知识结构的整理,没有注重学习者的学习顺序 官方文档中的案例注重API描述,比较适合学会mybatis plus之后,遇到问题再去翻阅。对于第一次使用Mybatis的初学者进行学习不是非常友好。 官方文档考虑的是全面完整的介绍Mybatis Plus, 我考虑的角度是:“最佳实践”。 世界上很多东西都符合2/8原则,本文档的目的是将: 最重要最常用的那20%帮你提炼出来、快速上手应用! 。另外的那80%都是不常用的,有空自己再去官方文档里面学吧! 官网文档地址: https://mybatis.plus/guide/ 我会将此文档写成一个系列的内容,记得关注我!zimug.com 我会将此文档写成一个系列的内容,记得关注我!zimug.com 我会将此文档写成一个系列的内容,记得关注我!zimug.com 一、Spring Boot整合Mybatis Plus 通过maven坐标引入依赖 <!-- mybatis --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.1.2</version> </dependency> <!--

SpringBoot+Mybatis多模块(module)项目搭建教程

ぃ、小莉子 提交于 2020-07-29 07:37:07
一、前言 最近公司项目准备开始重构,框架选定为SpringBoot+Mybatis,本篇主要记录了在IDEA中搭建SpringBoot多模块项目的过程。 1、开发工具及系统环境 IDE:IntelliJ IDEA 2018.2 系统环境:mac OSX 2、项目目录结构 biz层:业务逻辑层 dao层:数据持久层 web层:请求处理层 二、搭建步骤 1、创建父工程 ① IDEA 工具栏选择菜单 File -> New -> Project... ② 选择Spring Initializr,Initializr默认选择Default,点击Next ③ 填写输入框,点击Next ④ 这步不需要选择直接点Next ⑤ 点击Finish创建项目 ⑥ 最终得到的项目目录结构如下 ⑦ 删除无用的.mvn目录、src目录、mvnw及mvnw.cmd文件,最终只留.gitignore和pom.xml 2、创建子模块 ① 选择项目根目录beta右键呼出菜单,选择New -> Module ② 选择Maven,点击Next ③ 填写ArifactId,点击Next ④ 修改Module name增加横杠提升可读性,点击Finish ⑤ 同理添加【beta-dao】、【beta-web】子模块,最终得到项目目录结构如下图 3、运行项目 ① 在beta-web层创建com.yibao.beta.web包(

eclipse安装lombok

社会主义新天地 提交于 2020-07-29 07:08:23
lombok下载地址: https://projectlombok.org/download.html 1.使用步将 lombok.jar 放在eclipse安装目录下,和 eclipse.ini 文件平级的 2.双击打开jar包 3.点specify location 按钮,选择eclipse的安装目录,选择到eclipse层即可 eclipse安装 lombok失败的原因,基本是因为lombok与eclipse版本不匹配,选择新一点的eclipse和新一点的lombok,如eclipse2019+lombok1.18是可以的 来源: oschina 链接: https://my.oschina.net/u/4262730/blog/4273382