Demo玩玩
顺子1993
这个作者很懒,什么都没留下…
展开
-
GsonBuilder 配合 JsonDeserializer 解决反序列化问题
如果,一个类嵌套太深,有很多子类,这样进行反序列化时,会出现一些反序列化异常(如会报一些构造无参数的异常)。 如下图BasNode有下列子类,这是什么原因呐? 仔细想下:反序列化时都是按父类往下构建的,但是json字符串中是子类的序列化数据,这样直接去反序列化肯定是不行的。用 GsonBuilder配合 JsonDeserializer能完美解决这一问题 /** * 数组转对象 * @param bytes * @retu...原创 2020-09-11 16:23:02 · 914 阅读 · 1 评论 -
简单实现一个缓存
注:如果要实现类似spring cache的这种注解形式的,可以配合自定义注解及aop使用。主要实现1:单例的类,map,读写锁/** * Created by zs.xu on 2020/8/19. */public class MyCache { public static MyCache myCache; private MyCache(){}; public static MyCache getInstance(){ if (myCache原创 2020-08-20 11:17:29 · 156 阅读 · 0 评论 -
Callable+FutureTask+ThreadPoolExecutor 实现方法内异步调用
先假设一种场景某getXXX接口内部逻辑service方法内部包含了以下接口 1:或取订单信息(getOrderInfo())此方法耗时1S 2:或取用户信息信息(getUserInfo())此方法耗时2S 3:或取其他信息(getOrderInfo())此方法耗时3S这样整个getXXX接口的调用耗时肯定会大于6S.这样的串行调用很耗时。解决方案,使用 Callable+FutureTask+ThreadPoolExecutor 实现方法内异步调用 p...原创 2020-08-17 20:28:39 · 246 阅读 · 0 评论 -
攻下 spring mvc
之前一直对spring mvc 底层的实现原理狠挠头,直到网上听了一节课,花了一下午的时间跟着视频简单的实现了spring mvc。现整理下心得体会。 个人对spring mvc的理解是 spring mvc = servlet + spring。其底层的实现技术主要是 自定义注解+反射。想要实现spring mvc 首先要先把spring mvc中常用的自定义注解整理实现出来。1:常用注解 (1):作用于Controller类上的@Controller 注解/** * Crea...原创 2020-08-14 17:44:19 · 83 阅读 · 0 评论 -
Spring实现基于Redis的自定义注解缓存
前言:本文的一些方法是参考借鉴网上前辈的,功能很简单,也有很大优化空间。实现该功能一共分三步第一步:整合redis1:首先导入相关包(注意:如果有报redis注入失败的问题,可能是这俩pom版本的问题,下例两个版本是正常的) <dependency> <groupId>redis.clients</groupId...原创 2019-12-19 16:36:56 · 165 阅读 · 0 评论 -
多线程批处理---Fork/Join框架
Fork/Join框架是Java7提供的一个用于并行执行任务的框架, 是一个把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架。package threadTest;import java.util.ArrayList;import java.util.List;import java.util.concurrent.ExecutionException;impor...原创 2018-05-31 11:37:08 · 498 阅读 · 0 评论 -
jwt配合拦截器做安全验证-使用xml配置文件
做一个项目,用到了jwt验证,使用拦截器拦截验证,为日后方便,决定将不需要拦截的路径写到xml文件中。 文件格式如下: 不需要拦截的url 城市 /city/cityByProvince /city/cityName /city/citys 区域 /district/cityByProvince /district/district原创 2017-11-15 17:08:56 · 766 阅读 · 0 评论 -
springboot 整合generator代码生成工具 使用swagger展示接口 使用pagehelper做分页
偶尔看到大神用springboot 整合generator配合swagger及pagehelper很快的就构建起了一个项目的基础接口,很好奇,就扒了大神的代码研究了下,整理了个demo出来,我的demo是使用的mysql数据库,在此分享一下!!! 简单介绍一下(极其不详细,自己也只是了解皮毛)generator,swagger,pagehelper generator原创 2017-11-01 17:15:30 · 885 阅读 · 0 评论 -
SpringBoot-Redis实现session共享(图片验证码验证)
因公司项目需要,做了一个图片验证码,但是如何验证是个问题,单纯的将验证码加密后存放到cookie中肯定是不安全的(试想一下,一直拿“ABCD”验证码的加密cookie去验证ABCD)。入库的话成本显的太高。这时大家肯定会想,放到session里面呀!!!没错,放到session里是很合理,但是前提是要考虑两个必要问题,1:如果有人恶意访问,造成大量的session生成,服务器能否受的了? 2:项原创 2017-10-31 15:32:11 · 2425 阅读 · 1 评论 -
对象属性值copy-Mapstruct
在许多项目中都会设计实体对象的转换拷贝,如果字段比较多使用set和get会使代码显得比较臃肿,然而大部分工具类比如:BeanUtils.copyProperties(user, uForm) 等使用反射原理会大大的影响性能。Mapstruct就很好的解决了性能问题,它的原理就是自动帮我们封装get,set方法。 由于本人使用的是Eclipse,在网上看到许多前辈说eclipse原创 2017-10-27 17:40:37 · 1242 阅读 · 0 评论