Lombok

lombok

帅比萌擦擦* 提交于 2020-12-17 14:12:41
相识 lombok想必已经有很多人已经使用了很长时间了,而我却是第一次接触到,有点呆。lombok主要是用于减少重复代码,通过一组简单的注释取代一些重复的Java代码。对于lombok的评价褒贬不一,有的人觉得特别方便,有的人觉得改变了一成不变的代码结构,增加了代码维护成本(有的人没有用过lombok),我是觉得每一个工具诞生肯定是有他诞生的价值的,多学一个是一个啊,小老弟,用不用再说。:) 官方文档地址 官方API地址 官方注解介绍地址 准备 1、下载idea插件 我这里已经安装好了,没有安装的时候按钮应该是Install 2、pom文件引入project lombok的maven依赖 <dependency> <groupid>org.projectlombok</groupid> <artifactid>lombok</artifactid> <version>1.18.2</version> <scope>provided</scope> </dependency> lombok maven版本 注解介绍 @Getter和@Setter 顾名思义,生成get和set方法的注解,@Getter和@Setter发生在编译阶段,编译之后,@Getter和@Setter相关的注解就消失了,取而代之的是相应的get和set方法。 public class LombokTest {

lombok 异常:Lombok needs a default constructor in the base class less... (Ctrl+F1) Inspe

不羁的心 提交于 2020-12-17 13:46:52
lombok 异常:Lombok needs a default constructor in the base class less... (Ctrl+F1) Inspe 参考文章: (1)lombok 异常:Lombok needs a default constructor in the base class less... (Ctrl+F1) Inspe (2)https://www.cnblogs.com/miaoying/p/11686477.html 备忘一下。 来源: oschina 链接: https://my.oschina.net/u/4432649/blog/4812618

JVM 运行时数据区详解,写得非常好!

ⅰ亾dé卋堺 提交于 2020-12-13 12:59:30
Java技术栈 www.javastack.cn 关注阅读更多优质文章 作者:小小木的博客 www.cnblogs.com/wyc1994666/p/11795781.html 在接下来的几天想总结下,JVM相关的一些内容,比如下面的这三个内容算是比较核心知识点了 1. 运行时数据区域: 在运行时数据区里存储类Class文件元数据(方法区),对象和数组(堆),方法参数局部变量(栈)等。 2. 垃圾回收机制: java 语言的优势之一就是它的自动内存管理,主要回收运行时数据区域的堆内存里的数据 3. 类加载机制: 虚拟机首先需要把编译完成的字节码文件通过类加载器来加载到运行时数据区域 一个段Java代码的生命周期都会少不了上图这几个步骤,也就是Java代码首先会被编译成字节码文件,之后被类加载器加载到运行时数据区域,以及运行,垃圾收集器回收对象等等。 但今天我想介绍第一个知识点《运行时数据区域》 1 运行时数据区 Java虚拟机定义了一系列逻辑数据区域,有些是随着虚拟机的启动而创建,虚拟机的关闭而销毁。还有一部分是随着线程生命周期创建销毁的。 我们有必要深入了解这块的内容,因为它将决定服务器性能,首先我们需要对整个运行时区域由整体的认识并且了解了每个区域的生命周期以及作用之后才能通过相应的调参来提升系统性能。除此之外还有助于快速定位虚拟机的相关Error.

Lombok/Jackson - POJO for a json array

可紊 提交于 2020-12-12 11:35:09
问题 I have a json array that I need to receive(de-serialize) from a server and send (serialize) to another server: Example: [ { "car-name": "string", "parts": [ "engine", "wheels" ] } ] I started with writing the following POJO to represent this Json array: import lombok.Builder; import lombok.Singular; import lombok.Value; @Builder @Value public class Car { private String carName; @Singular("part") private List<String> parts; } With this: I am able to build the object using Lombok as: Car myCar

Spring boot + Mongodb

偶尔善良 提交于 2020-12-12 00:45:08
mongodb的增删改查 1、pom包配置 pom包里面添加spring-boot-starter-data-mongodb包引用 < dependencies> < dependency> < groupId>org.springframework.boot </ groupId> < artifactId>spring-boot-starter-data-mongodb </ artifactId> </ dependency> </ dependencies> 2、在application.properties中添加配置 spring. data.mongodb.uri=mongodb:// user: pwd@localhost: 27017/test 多个IP集群可以采用以下配置: spring.data.mongodb.uri= mongodb: //user:pwd@ip1:port1,ip2:port2/database 3、创建数据实体 public class UserEntity implements Serializable { private static final long serialVersionUID = - 3258839839160856613L; private Long id; private String userName;

Groovy: Lombok @NoArgsConstructor not creating default constructor

心已入冬 提交于 2020-12-10 08:49:27
问题 I am using lombok 1.18.6 in my spring boot project and I have @NoArgsConstructor but still am getting org.springframework.orm.jpa.JpaSystemException: No default constructor for entity: : com.validation.entity.Client; nested exception is org.hibernate.InstantiationException: No default constructor for entity: : com.validation.entity.Client] with root cause Below is my Client entity import lombok.AccessLevel import lombok.Data import lombok.NoArgsConstructor import org.hibernate.annotations

java3个实现类的一些问题

元气小坏坏 提交于 2020-12-09 01:20:01
以下代码有插件lombok PayNotifyRecordController类 package com.intshock.pocket.pay.controller; import cn.hutool.core.bean.BeanUtil; import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.intshock.pocket.common.core.util.WebUtils; import com.intshock.pocket.pay.config.SiFangPayCallModel; import com.intshock.pocket.pay.config.SiFangPayCallbackModel; import com.intshock.pocket.pay.handler.impl.SiFangHYPayNotifyCallbackHandler; import com.jpay.alipay.AliPayApi; import com.jpay.ext.kit.HttpKit;

Lombok Customize SuperBuilder

橙三吉。 提交于 2020-12-05 05:04:27
问题 I have two classes like this: @Builder public class Parent { final int a; final int b; public class static ParentBuilder { public ParentBuilder setAllTo(final int value) { return a(value).b(value); } } } public class Child extends Parent { final in c; @Builder(builderMethodName = "childBuilder") public Child(final int a, final int b, final int c) { super(a, b); this.c = c; } } My classes are growing up and got more and more fields. And this is a reson to use the @SuperBuilder . But how can I

Lombok Customize SuperBuilder

你。 提交于 2020-12-05 05:04:25
问题 I have two classes like this: @Builder public class Parent { final int a; final int b; public class static ParentBuilder { public ParentBuilder setAllTo(final int value) { return a(value).b(value); } } } public class Child extends Parent { final in c; @Builder(builderMethodName = "childBuilder") public Child(final int a, final int b, final int c) { super(a, b); this.c = c; } } My classes are growing up and got more and more fields. And this is a reson to use the @SuperBuilder . But how can I

Lombok Customize SuperBuilder

隐身守侯 提交于 2020-12-05 05:04:11
问题 I have two classes like this: @Builder public class Parent { final int a; final int b; public class static ParentBuilder { public ParentBuilder setAllTo(final int value) { return a(value).b(value); } } } public class Child extends Parent { final in c; @Builder(builderMethodName = "childBuilder") public Child(final int a, final int b, final int c) { super(a, b); this.c = c; } } My classes are growing up and got more and more fields. And this is a reson to use the @SuperBuilder . But how can I