
java
游侠小马哥
授之以鱼,不如授之以渔
展开
-
Java开发常用工具类
数值型比较、最大值、最小值、BigDecimal转换、是否是数字等。对象深克隆,克隆的对象要实现Serializable接口。字符串判空、空串,截位,分割,替换,匹配,大小写转换等。后续遗漏的会不定期更新。原创 2024-12-18 09:35:11 · 178 阅读 · 0 评论 -
SpringBoot feign基于HttpStatus重试
基于springboot开发的项目,对接第三方,第三方的接口有限流策略,某个时间段内有调用频率限制,返回的状态码HttpStatus不是200,而HttpStatus是429。现基于HttpStatus我们发起的重试。原创 2024-12-16 09:15:01 · 294 阅读 · 0 评论 -
mybatisplus实体对象使用lombok @Builder导致查询报错问题分析
从这可以看出是因为使用@Builder的注解给咱们生成了全部字段的构造器,查询的字段不是按照这个顺序来的。但是我们没有去定义这种构造器,这我们就会联想到lombok,看一下编译后的类的class文件。才从这行代码分析可以看出,他是从当前resultType声明的构造器获取进行字段类型转换。从这边可以看出course字段实体对象定义的是字符串,反而他的类型转换器是Integer。保留@Builder,增加无参构造。实体对象,这边字段顺序与表不一致。不使用@Builder注解。原创 2024-11-29 10:20:03 · 423 阅读 · 0 评论 -
spring-validation实现分组校验
JSR 303中提出了Bean Validation,表示JavaBean的校验,Hibernate Validation是其具体实现,并对其进行了一些扩展,添加了一些实用的自定义校验注解。 Spring中集成了这些内容,你可以在Spring中以原生的手段来使用校验功能,当然Spring也对其进行了一点简单的扩展,以便其更适用于Java web的开发。比如我很多时候新增和修改的DTO只是存在主键或者其他的一些少量字段差异而已,但是自己又不想去CV。首先swagger可以使用来忽略api文档的显示。原创 2023-12-21 11:01:46 · 1166 阅读 · 0 评论 -
Redisson源码研究
主要分析关键代码再往下看脚本命令保证了对操作的原子性=若,则自动超时过期若,则是的看门狗机制,后端定时任务每隔看下缓存是否过期,若存在自动设置TTL为主要这个时间是多少我们再细看下源码定义了也就是上述说的每隔10s触发一次, ,自动续期30s原创 2024-03-29 16:01:53 · 315 阅读 · 0 评论 -
JetCache-阿里缓存框架
源码地址。原创 2024-03-28 08:37:10 · 432 阅读 · 0 评论 -
feign反序列化报错
由于最近看了一些effective java的数据,使用lomok的注解。由上面错误信息可以看出ErrorCode缺少默认无参构造函数导致。编译上述代码后,class文件中无默认构造器,从而导致无法反序列化。2.不使用Builder装饰器方式,使用链式模式。导致了fegin服务之间调用报反序列化错误。1.添加无参以及有参构造注解。那什么原因导致了该问题?原创 2023-12-18 16:26:36 · 1079 阅读 · 0 评论 -
feign实现动态请求
在日常基于SpringBoot开发微服务系统中很多远程调用很少再去使用apacheHttpClient而是去使用OpenFeign。开发的微服务不可能只去调用一个服务,可能涉及的模块比较多,可能是自己内部系统其他模块,也可能是调用第三方的服务。但开发过程中不可能每次都去创建接口,为解决这个问题?我们可以用两种方式去实现该功能。原创 2023-09-03 18:05:39 · 646 阅读 · 0 评论 -
elasticjob由于zookeeper版本导致服务异常问题
zookeeper版本导致elasticjob服务启动异常原创 2023-01-17 08:45:31 · 2168 阅读 · 0 评论 -
Mybatis-Plus自动装填配置
Mybatis-Plus自动填充覆盖更新问题原创 2022-09-27 19:34:50 · 1463 阅读 · 0 评论 -
EasyExcel3.0.5版本问题运行报错
easyexcel版本问题,运行报错原创 2022-08-22 09:10:16 · 1855 阅读 · 0 评论 -
Mock工具类静态方法出现registeration must be deregist问题
Junit mock静态方法时To create a new mock, the existing static mock registration must be deregist。主要由于UT多个测试用例时,没有关闭资源导致后续用例无法测试使用`try-with-resources`可以解决该问题。try (MockedStatic<HttpClientUtils> mockedStatic = mockStatic(HttpClientUtils.class)) {原创 2022-03-10 10:29:59 · 8949 阅读 · 1 评论