自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Art pursuer

大家一起学习交流QQ群号: 132312549

  • 博客(16)
  • 资源 (1)
  • 收藏
  • 关注

原创 Jackson的@JsonFilter过滤器扩展

使用场景: 使用jackson的序列化时各种前置操作,比如多语言翻译,序列化包装等等;直接上代码了1.注解JsonPropertyFilter@Target({ElementType.ANNOTATION_TYPE, ElementType.FIELD})@Retention(RetentionPolicy.RUNTIME)public @interface JsonPropertyFilter { Class<? extends JsonPropertyFilte

2021-08-02 11:01:31 931

原创 @GroupSequenceProvider按关键字段分组嵌套校验

1.需要根据入参的某个值分组校验,并且支持嵌套分组校验2.ProductGeneral.class 普通商品public interface ProductGeneral {}3.ProductVirtual.class 虚拟商品public interface ProductVirtual {}4.ProductGroupSequenceProvider.class 分组校验public class ProductGroupSequenceProvider imp

2021-05-31 19:32:20 906

原创 单词分词器

import java.util.HashMap;import java.util.Map;import java.util.Objects;import org.apache.commons.lang3.StringUtils;/*** @author [email protected]* @since 2021-05-11 10:23*/public class CompareStringUtil { /** * 版本比较 * ...

2021-05-11 14:07:16 155

原创 Spring 优雅使用多例模式

1.多例模式使用场景?比如对商品的属性字段进行操作,此时属性对象的字段偏多,在上下文引用过程中使用频次较多时,使用多例模式会使代码更加优雅和高扩展2.LookupContext 生产多例对象的类@Componentpublic abstract class LookupContext { @Lookup("skuContext") public abstract SkuContext skuContext();}3.SkuContext sku的上下文引用@S

2021-04-08 10:20:41 1919 4

原创 Spring多版本控制管理,Swagger正常显示url路由

1.Controller版本控制流程:1.在controller类上添加@Version注解2.使用swagger或者postman访问接口2.实现代码1.注解Version.classimport java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation

2021-03-04 16:33:05 513 3

原创 版本控制维护数据最终一致性

在业务开发中,经常需要维护缓存和快照的数据最终一致性;备忘录模式:保存一个对象的某个状态,以便在适当的时候恢复对象。直接上代码吧!!!1.缓存相关接口CacheService.class 缓存接口定义public interface CacheService<T extends Version> { /** * 存redis缓存和版本号 * * @param t */ void saveCache(T t); .

2021-01-26 18:47:16 242

原创 自定义链模型执行流程

目标: 执行有顺序流程任务,可根据业务自动异动流程顺序上代码吧!!!1.上下文引用RequestContext.classpublic interface RequestContext<V> { V toView();}2.处理器定义ActionHandle.classpublic interface ActionHandle<Ctx extends RequestContext> { boolean execute(Ctx req.

2021-01-07 18:53:43 111

原创 依赖spring的链模型

1.链模型: 就是执行有顺序的过程;2.上代码吧TestService.classimport org.springframework.core.Ordered;public interface TestService extends Ordered { void execute();}Test1Service.classimport org.springframework.stereotype.Service;import lombok.extern.sl

2021-01-04 15:57:10 83 1

原创 Swagger2自定义注解提升个性化

使用场景: 需要改造swagger原有的注解,使其达到高扩展性;为什么写本文: 为了收拢header,不再使用单独的@RequestHeader传参,为了在swagger上良好的展现header直接上代码吧1.@ApiParams 注解import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;impo

2020-12-31 17:49:23 1241

原创 策略模式+模板模式让代码更优雅

模式将一些列有一些列共性的功能代码抽离出来,使代码变得优雅和高扩展;应用场景: 多地区菜单差异化,多地区价格计算等等直接上代码吧!!!1.输入参数对象定义父类:import lombok.Data;import lombok.experimental.SuperBuilder;@SuperBuilder@Datapublic class MenuParam { private String regionCode;}中国地区子类:import lombo

2020-12-28 14:27:06 257 1

原创 采用Filter修改Request请求的header

修改Request请求的请求头,该篇文章主要修改header的Accept-Language的值,直接上代码吧import java.io.IOException;import java.lang.reflect.Field;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;

2020-12-15 11:31:58 1868 1

原创 elasticsearch使用restHighLevelClient查询所有数据

elasticsearch使用restHighLevelClient查询分页数据1.maven <dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>elasticsearch-rest-high-level-client</artifactId> <version>6.4.3</version>

2020-12-04 13:41:59 7721

原创 spring data mongodb 查询返回指定字段

spring data mongodb 查询返回指定字段查询: Query query=Query.query(Criteria.where("productId").is(1)); query.fields().include("productId")); Product product = mongoTemplate.findOne(query,Product.class); System.out.println(product);...

2020-09-25 10:27:54 1034

原创 mongodb存储geoJson

在业务需求中,需要对地理坐标进行存储,mongodb是一种很好的选择,因为它提供了许多关于地理位置的方法,但是它提供的GeoJson却是一个接口,当然也提供了对应的点、线、面的实现类,不过在业务需求中,往往需要前端传一个GeoJson数据格式,后端做一个点、线、面的适配,已达到简单使用,简单存储的功能;基于上面的场景,写了这篇文章,下面就贴代码了(关于maven及mongdb的配置下面就不贴了,只贴核心代码)1.首先自定义一个GeoJson类@Datapublic class CustomGeoJs

2020-07-09 09:40:29 1738

原创 全球化时区处理

概念1.相对时间和绝对时间相对时间: “yyyy-MM-dd HH:mm:ss” 或 “HH:mm”;绝对时间: “yyyy-MM-dd HH:mm:ss” + timezone 或 timestamp;怎么做1. 数据库字段类型相对时间:datetime,date,time;绝对时间:timestamp;2. java【实体类】时间字段类型相对时间:java.lang.String;绝对时间:java.time.Instant;3. instant使用

2020-07-09 09:28:21 1732

原创 springboot实现i18n国际化翻译

springboot实现i18n国际化翻译github:https://github.com/java-joker/i18n转载需指明出处

2020-06-24 10:56:06 1535 3

好资源flowable-6.5.0.zip

flowable6.5.0.zip,亲测可用。flowable比activiti更强大的框架,简化工作流程,动态调整任务节点等等,部署上去就可以在web界面画流程

2020-08-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除