Spring
森林茂密溪水如流
写点感兴趣的东西,工作中碰到的问题记录一下
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
[org.springframework.web.HttpMediaTypeNotAcceptableException: Could not find acceptable representat
Spring Boot 中自定义了 response 对象,在controller中返回,如图。SpringBoot默认调用的json化,需要获取对象属性的Get方法。经排查发现 CusResponse中未指定 属性的Get方法。随后配置属性的Get方法即可。原创 2022-10-27 13:44:48 · 699 阅读 · 1 评论 -
Leaf-segment 双buffer数据库方案-代码实现
理论知识参考上篇文章:https://blog.youkuaiyun.com/lzl907678041/article/details/121282237controller层方法调用 @GetMapping("/currentLongId") @ApiOperation(value = "单个DB信息-获取当前LongId",notes = "单个DB信息-获取当前LongId") public Result currentLongId(@RequestParam("businessTag"原创 2021-11-12 10:19:36 · 1287 阅读 · 0 评论 -
Leaf-segment 双buffer数据库方案-理论知识补充
实现原理参考:Leaf——美团点评分布式ID生成系统 - 美团技术团队Leaf方案实现Leaf这个名字是来自德国哲学家、数学家莱布尼茨的一句话: >There are no two identical leaves in the world > “世界上没有两片相同的树叶”综合对比上述几种方案,每种方案都不完全符合我们的要求。所以Leaf分别在上述第二种和第三种方案上做了相应的优化,实现了Leaf-segment和Leaf-snowflake方案。Leaf-segment数据库.转载 2021-11-12 10:09:35 · 558 阅读 · 0 评论 -
RabbitMq消息消费通用模板
通过配置通用消费代码模板、扫描指定的方法注解 、反射,与具体的service进行剥离减少代码变更的次数,提供简单的配置,即可完成消息的消费具体的注解定义package com.xes.customer.annotation;import com.xes.enums.BusinessTypeEnum;import java.lang.annotation.*;/** * @author lzl * @date: 2021-07-29 14:53 */@Target(Elemen.原创 2021-08-01 14:06:59 · 570 阅读 · 0 评论 -
Filter、Interceptor中处理不符合条件的请求
1、处理的返回结果的几种方式下列代码中判断的是业务逻辑,关键点是写入错误信息,停止请求流转。1)校验不通过直接抛异常的方式处理请求 错误信息(堆栈信息较深)和正常的业务错误信息混合在一处,线上排查问题不方便;也可以单独指定错误信息输出到某个指定的文件中,但是针对文件的操作(多大容量、是否需要定时备份)比较复杂,需求其他的技术手段保证可用。2)在response中写入错误信息,终止当前的流程 对不符合的请求,直接log.error()的方式进行信息记录;在respons...原创 2020-11-13 16:06:02 · 501 阅读 · 0 评论 -
关键接口开启双重校验
注意:需要前端配置 针对关键接口处理返回的token信息。1、整体思路 针对某些关键性的页面数据操作在调用展示数据页面时,后台针对此接口重写返回的token信息,前端拿到token信息后,进行本地保存,在当前页面进保存操作时,进行校验(包含时间校验)。当在页面停留过久时提示刷新页面,这样可以防止直接通过接口调用写入脏数据。2、实现步骤 创建拦截器、注册拦截器,创建注解、在拦截器的preHandle方法、postHandle方法中处理针对不同的注解进行处理。...原创 2020-11-13 16:03:50 · 315 阅读 · 0 评论 -
SpringBoot 项目启动 指定范围内的端口
package com.lzl.cloud.eureka.port;import lombok.extern.slf4j.Slf4j;import org.springframework.util.StringUtils;import java.net.ServerSocket;import java.util.Properties;import java.util.Random;/** * 判断启动时是否指定端口 * 没有指定端口 随机获取端口 进行服务启动 * @author .原创 2020-08-03 15:03:25 · 1119 阅读 · 0 评论 -
使用java 注解校验参数 、全局异常获取定义的message、对象嵌套校验
GET 请求的参数对象定义:@Data@ApiModelpublic class Test {@NotEmpty(message = "手机号码不为空")@Size(min = 11,max = 11,message = "手机长度不合法")@ApiModelProperty(value = "手机号码")private String phone;@NotEmpty(message = "code参数异常")@ApiModelProperty(value = "co原创 2020-06-16 18:23:52 · 3435 阅读 · 0 评论
分享