Lombok

Best practice for @Value fields, Lombok, and Constructor Injection?

南笙酒味 提交于 2020-12-29 08:53:46
问题 I'm developing a Java Spring application. I have some fields in my application which are configured using a .yml config file. I would like to import those values using an @Value annotation on the fields in question. I would also like to use the best-practice of constructor injection rather than field injection, but I would like to write my constructor using Lombok rather than manually. Is there any way to do all these things at once? As an example, this doesn't work but is similar to what I

封装了easyExcel的工具类,包含字段校验功能,使用validate校验注解即可

我的未来我决定 提交于 2020-12-28 22:38:51
package com.ciics.cscloud.xinsurance.social.utils.excel; import com.alibaba.excel.EasyExcel; import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.context.AnalysisContext; import com.alibaba.excel.event.AnalysisEventListener; import com.alibaba.excel.exception.ExcelAnalysisException; import com.alibaba.excel.util.StringUtils; import lombok.Data; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.util.CollectionUtils; import javax.validation.ConstraintViolation; import javax.validation

IDEA 社区版2020.3 安装lombok插件不能使用的问题(失效)解决方法

有些话、适合烂在心里 提交于 2020-12-26 15:50:29
IDEA 社区版2020.3 安装lombok插件不能使用的问题(失效)解决方法 解决办法: 报错信息1: java: 方法引用无效 找不到符号 符号: 方法 getId() 位置: 类 com.nxw.package.类名 打开problem面板向上找你就会发现还有一个报错信息至关重要,它决定着你决绝此问题的方向是否正确。只看报错信息1是无法解决问题的。 报错信息2: java: You aren't using a compiler supported by lombok, so lombok will not work and has been disabled. Your processor is: com.sun.proxy.$Proxy24 Lombok supports: sun/apple javac 1.6, ECJ 虽然两个报错信息都是指向了Lombok的问题,但搜索第一个报错信息是无法解决问题的,解决问题的关键在于报错信息2,。意思是 您没有使用lombok支持的编译器,因此lombok将无法工作,并且已被禁用 解决办法: 打开settings–>Build,Execution…–>Compiler 在Shared build process VM opyions:处填写 -Djps.track.ap.dependencies=false 将其置为有效。

spring cloud security oauth2自定义参数认证源码配置

99封情书 提交于 2020-12-25 10:42:24
1、继承UsernamePasswordAuthenticationToken,自定义接收参数 package com.mx.octoo.auth.authentication ; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken ; import org.springframework.security.core.GrantedAuthority ; import java.util.Collection ; public class TenantAuthenticationToken extends UsernamePasswordAuthenticationToken { private static final long serialVersionUID = 8217066478491458584L ; private final String tenantCode ; // ~ Constructors // =================================================================================================== /** * This constructor

Springboot整合websocket实现一对一消息推送和广播消息推送

不打扰是莪最后的温柔 提交于 2020-12-23 15:12:02
https://www.jianshu.com/p/60799f1356c5 https://blog.csdn.net/Ouyzc/article/details/79994401 maven依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-websocket</artifactId> </dependency> 项目实战 1,设置webSocket终端服务 import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.socket.server.standard.ServerEndpointExporter; @Configuration public class WebSocketConfig { @Bean public ServerEndpointExporter serverEndpointExporter(){ return new ServerEndpointExporter(); } } 2,消息处理

lombok使用

半腔热情 提交于 2020-12-23 02:52:36
lombok使用 类注解: data Setter和Getter Value Builder ToString EqualsAndHashCode Cleanup 日志 构造器 Accessors Synchronized 属性注解 懒加载 辅助注解 NonNull Cleanup TOC lombok使用 lombok官网: https://projectlombok.org/ 参考 https://blog.csdn.net/weixin_41540822/article/details/86606513 https://blog.csdn.net/qq_37192800/article/details/79785906 https://blog.csdn.net/weixin_38229356/article/details/82937420 https://blog.csdn.net/sunsfan/article/details/53542374 类注解: data @Data :注解在类上;提供类所有属性的 getting 和 setting 方法,此外还提供了equals、canEqual、hashCode、toString 方法, @Data(staticConstructor=”methodName”) 来生成一个静态方法,返回一个调用相应的构造方法产生的对象。

Lombok基础使用介绍

匆匆过客 提交于 2020-12-23 00:42:25
Lombok项目是一个Java库,它会自动插入编辑器和构建工具中,Lombok提供了一组有用的注释,用来消除Java类中的大量样板代码。仅五个字符(@Data)就可以替换数百行代码从而产生干净,简洁且易于维护的Java类。 官网地址: https://projectlombok.org/ 一、安装插件 这里以Intellij IDE(Mac版)为例,依次打开 Preferences -> Plugins -> 搜索Lombok插件安装。 我这里已经安装了,所以是update。 二、添加依赖 <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.6</version> </dependency> 三、Lombok内容概览 var 所声明的变量是非 final 的。 val 所声明的变量是 final 的。 @Getter 注解在属性(类)上,为属性(所有非静态成员变量)提供 get() 方法 @Setter 注解在属性(类)上,为属性(所有非静态成员变量)提供 set() 方法 @ToString 该注解的作用是为类自动生成 toString() 方法 @EqualsAndHashCode 为对象字段自动生成 hashCode() 和 equals

基于spring-data 实现mongodb changestream

帅比萌擦擦* 提交于 2020-12-22 05:05:29
最近项目要求对mongodb的数据变更操作记录操作日志,首先想到的是基于spring的AOP对变更的接口进行拦截处理,由于调用接口的点很多不是很方便的去梳理,考虑使用mongodb的CDC机制,实时监控数据的变更。 首先是springboot集成mongodb,mongdb需要是3.6以上的版本才能支持changestream <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.3.RELEASE</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency> </dependencies> 首先配置mongo监听器,用于接收数据库的变更信息 import com.mongodb.client.model.changestream.ChangeStreamDocument; import lombok.extern.slf4j. Slf4j

IDEA添加Lombok插件

给你一囗甜甜゛ 提交于 2020-12-19 14:57:27
背景:   最近老大给了一个项目,是个雏。一看实体类就懵逼了,没有getter、setter和构造方法,导致service和controller全报红线,私有属性也没有注释。按规矩,心里先把这位前辈骂10遍,然后一看@author xx。这不是我老大嘛?然后试着启动项目,卧槽,居然能启动,又去查看编译后的实体类一看,各种构造器和getter、setter等等都全部生成好了,又蒙蔽了。Google一查,原来是Lombok这个东西在搞鬼。   来看一下官网上怎么说的:Project Lombok is a java library that automatically plugs into your editor and build tools, spicing up your java.Never write another getter or equals method again, with one annotation your class has a fully featured builder, Automate your logging variables, and much more.翻译下来就是:Lombok是一个java库,可以自动插入编辑器并构建工具,为您的java增添色彩。永远不要再写另一个getter或equals方法,使用一个注释