![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 94
诗礼银杏
这个作者很懒,什么都没留下…
展开
-
Feign全局异常处理,返回调用者自定义异常
1. 起因 使用feign有个很头疼的事情,自定义异常在下游服务会被feignException拦截,返回的格式会非常奇怪,feign本身还有熔断机制,各种处理方法侵入性都太强 找不到太好的解决方案,就费时间自己优化了下,demo如下2. demoimport feign.FeignException;import lombok.extern.slf4j.Slf4j;import org.apache.commons.lang3.StringUtils;import...原创 2020-09-18 11:58:29 · 3450 阅读 · 0 评论 -
springboot获取所有URL和swagger注解参数
1.简介 因为做了RBAC结构的权限模型,又懒得写管理界面,就直接一网打尽,写一个获取所有url路径和swagger文档注解的方法,然后百度了下,大部分都是只获取URL接口路径,我拓展了下,可以加上方法的注解参数。 swagger注解可以换成自定义的注解,很简单的,注释里有体现。2.代码 @Autowired private WebApplicationContext applicationContext; @RequestMapping(value = "...原创 2020-06-03 19:12:07 · 2330 阅读 · 1 评论 -
基于CGLIB高性能LIST集合对象复制工具类
1.前言 java开发少不了RO、DTO、VO之类的对象复制,大部分都是基于各类框架提供的方法,比如CGLIB dozerorikaApache BeanUtilsApache PropertyUtilSpring BeanUtils之类的,性能上最强的目前不容置疑的是CGLIB,和手动set、get速度基本一致,甩其他工具几条街,但可能是我用的不熟悉,始终没...原创 2020-03-17 17:25:07 · 1542 阅读 · 2 评论 -
使用redis储存oauth2.0的token报错org.springframework.data.redis.connection.RedisConnection.set([B[B)V
习惯于redis的高性能,搭建oauth2.0的时候,选择了使用redis作为token的储存空间,但使用springboot2.0以上版本的时候,爆了如下错误:org.springframework.data.redis.connection.RedisConnection.set([B[B)V 根据百度和GitHub上的讨论来看,是官方使用的spr...原创 2020-03-14 01:42:50 · 1842 阅读 · 1 评论 -
springCloudConfig统一匹配所有配置包名
1.原因 springCloudConfig配置中心识别各工程对应的配置文件夹,search-paths总要将所有文件夹目录写上非常不方便,增加工程就要增加配置,重启springCloudConfig配置中心。2.版本springboot 2.0.8springcloudFinchley.SR23.解决...原创 2020-01-17 11:15:54 · 734 阅读 · 0 评论 -
jackson增加日期时间转换后报错
1. 简谈 最近新搭建了一个springcloud架子,联调的时候前端反馈时间格式不友善,我一拍脑袋,直接在web层配置文件中加上了jackson的转换配置,然而和我意料之外的是,程序开始报json转换错误了。2. 解决 一开始加的配置:spring: jackson: time-zone: GMT+8 date-format: yyyy-MM-d...原创 2019-10-18 16:51:07 · 534 阅读 · 0 评论 -
springboot聚合工程如何将子工程中的ioc容器注入spring
1. 简谈 无论是多模块还是分布式微服务架构体系下,工具类的抽离复用一直是必不可少的步骤,类似我通常都会将redis、全局异常处理、springsession之类的工具类统一抽离复用,特别是分布式环境下,一个工具类一个单独模块都很常见,但问题也随之而来,如何将这些工具类注入到使用模块的spring中。2. 用法 早期我曾经将这些工具类抽离,使用时引入这些工程,然后建一个c...原创 2019-10-16 15:19:14 · 495 阅读 · 0 评论 -
zuul导致springsession对前端cookie失效
1. 简谈 最近接入springsession出现了点问题,单个工程没问题,但经过springcloud的zuul网关转发后,前端没能写入,导致登录报错。 疑惑了很久,甚至怀疑springsession这款东西是不是个半成品,毕竟很少碰到用的,教程多但细节少。 幸好坚持查了不少资料,最终搞定。2. 版本 springboot 2.0.8 ...原创 2019-10-15 14:23:07 · 807 阅读 · 0 评论 -
分布式秒杀专题之二 :内存标识
1. 简谈 一般秒杀业务,商品数量通常放在redis,用户秒杀商品,会对redis进行大量的读写操作,而通常秒杀商品的数量有限,在一瞬间就会被秒杀一空,但剩余的用户请求仍然会去查询redis,而且这一部分的请求是难以估计的,远远大于买到商品的用户的数量,会造成非常大的资源浪费。2. 解决方案 内存标识是秒杀场景下,对redis的一种保护机制,它不用引入任何中间件和ja...原创 2019-05-15 17:39:58 · 466 阅读 · 2 评论 -
redisson切换线上环境后用maven打包时报错。
1.闲谈 最近遇到个很头疼的错误,用了redisson做分布式锁,结果切换成线上环境,结果打包的时候maven开始测试,由于线上是内网ip,结果redisson连接不到,直接抛异常报错,jar包自然没打出来。 后来根据群里好心老哥提示和百度,找到了maven跳过测试的插件,说是插件,其实就是maven自带的配置,放到项目的pom文件里面就行。 这个插件会跳过打包时的测...原创 2019-04-18 17:21:06 · 559 阅读 · 0 评论 -
java8的一些操作
1.stream /** * 循环 */ Stream<Student> stream = list.stream(); stream.forEach( p -> System.out.println(p.getName()) ); ...原创 2019-01-17 09:48:38 · 133 阅读 · 0 评论 -
获取请求方的真实ip
1.介绍 多次转发过来的请求获取第一次请求的ip,大概是每次转发都会把初始的请求ip放到请求头之类的地方,大概是这样吧。 protected String getIpFromRequest(HttpServletRequest request) { String ip = request.getHeader("x-forwarded-for"); ...原创 2018-11-03 14:45:03 · 314 阅读 · 0 评论