2025年10月14日

javaLong类型在前端json数据损失精度

摘要: 方法一:重新生成pojo对象,将所有数据库类型为bigint都映射成String类 方法二:对于使用springboot,则增加配置代码: package com.gj.app.config; import com.fasterxml.jackson.databind.ObjectMapper; i 阅读全文

posted @ 2025-10-14 23:49 chuchengzhi 阅读(5) 评论(0) 推荐(0)

时间格式不能正常转换?

摘要: @DateTimeFormat 注解 前台到后台的时间格式转换,对于GET 请求参数可以正常工作。对于 POST 请求会报反序列化错误 POST 请求会使用 JSON 反序列化,不会使用 @DateTimeFormat 注解。 POST 表单(body)实现时间格式转换的方法 使用 @JsonFor 阅读全文

posted @ 2025-10-14 23:48 chuchengzhi 阅读(3) 评论(0) 推荐(0)

读取了Request输入流,请求数据就不见了

摘要: HttpServletRequest 和 HttpServletResponse 中存在方法互斥。 在过滤器、拦截器中对 HTTP 请求中的数据做校验、审计是非常常见的需求 Request 输入流数据一但被读取,Controller找不到了 Request 的 getlnputStream 和 ge 阅读全文

posted @ 2025-10-14 23:48 chuchengzhi 阅读(7) 评论(0) 推荐(0)

SpringBoot定时任务不定时执行了

摘要: 两个注解 @EnableScheduling:使得@Scheduled生效 @Scheduled:标注在方法上 @Scheduled 注解 fixedDelay任务结束与开始之间的间隔 fixedRate两次任务的开始的间隔,不管任务是不是执行结束 initialDelay:配合性的,可以和上面两个 阅读全文

posted @ 2025-10-14 23:47 chuchengzhi 阅读(4) 评论(0) 推荐(0)

异步任务的坑

摘要: Spring Boot 中编写异步任务 两个注解: @EnableAsync:开启当前项目的异步功能 @Async:当前方法标记为异步方法 注意一个规则:有没有返回值。 没有返回值的例子: 返回值实现了 Future 接口: 下 异步任务的线程池配置 默认情况下,异步任务的线程池是怎么配置的,是否满 阅读全文

posted @ 2025-10-14 23:47 chuchengzhi 阅读(7) 评论(0) 推荐(0)

Spring踩坑一

摘要: 《Spring编程常见错误50例》读书笔记 源码构建依赖下载可能遇到的问题: https://blog.csdn.net/xiangxiaotian666/article/details/127399904 Spring Core 工厂 BeanFactory 内部有 Map Scan 负责扫描需要 阅读全文

posted @ 2025-10-14 23:46 chuchengzhi 阅读(8) 评论(0) 推荐(0)

Spring踩坑二

摘要: Spring Web http 请求处理流程 总览 @RestController public class HelloWorldController { @RequestMapping(path = "hi", method = RequestMethod.GET) public String h 阅读全文

posted @ 2025-10-14 23:46 chuchengzhi 阅读(28) 评论(0) 推荐(0)

群发红包系统

摘要: 业务流程 发红包 输入金额以及人数 创建红包订单(订单ID,金额,份数) 调用支付系统 红包订单支付之后红包就发出去了 钱先拆好(行锁分散,加大并发) 抢红包 抢红包业务群,检测当前是否有剩余钱 没有剩余直接返回,有剩余就将请求转发到Redis里面的list(先来先服务),同时将请求发到mq启动一个 阅读全文

posted @ 2025-10-14 23:40 chuchengzhi 阅读(12) 评论(0) 推荐(0)

持续集成和容器管理

摘要: DockerMaven插件 微服务部署有两种方法: 手动部署:首先基于源码打包生成jar包(或war包),将jar包(或war包)上传至虚拟机并拷贝至JDK容器。 通过Maven插件自动部署。 自动部署 是企业实际开发中经常使用的方法。 Maven插件自动部署步骤: 修改宿主机的docker配置,让 阅读全文

posted @ 2025-10-14 23:38 chuchengzhi 阅读(12) 评论(0) 推荐(0)

SpringDataElasticsearch聚合实现过滤搜索

摘要: 过滤功能分析 整个过滤部分有3块: 顶部的导航,已经选择的过滤条件展示: 商品分类面包屑 其它已选择过滤参数 过滤条件展示,又包含3部分 商品分类展示 品牌展示 其它规格参数 展开或收起的过滤条件的按钮 顶部导航要展示的内容跟用户选择的过滤条件有关。这部分需要依赖第二部分:过滤条件的展示和选择。展开 阅读全文

posted @ 2025-10-14 23:12 chuchengzhi 阅读(15) 评论(0) 推荐(0)

组合模式Composite

摘要: 树状结构,有些包含子节点,有些只有自己 文件夹和文件的关系 快递包装和快递内容物的关系 实现 确保应用的核心模型能够以树状结构表示。 尝试将其分解为简单元素和容器。 记住, 容器必须能够同时包含简单元素和其他容器。 声明组件接口及其一系列方法, 这些方法对简单和复杂元素都有意义。 创建一个叶节点类表 阅读全文

posted @ 2025-10-14 23:11 chuchengzhi 阅读(6) 评论(0) 推荐(0)

状态模式State

摘要: 根据状态决定动作 不同状态下的同一动作有不同的实现,就是一个简单的多态。简单面向接口编程 应用:TCP 不同的状态下open close ack的方法的实现是不一样的,扩展方法是不方便的,方法不扩展可以使用状态模式 线程状态案例 线程是上下文 线程状态是State Running,Blocking等 阅读全文

posted @ 2025-10-14 23:11 chuchengzhi 阅读(9) 评论(0) 推荐(0)

装饰者模式Decorator

摘要: 简单版 防止类爆炸 类继承是会造成耦合度很高 用聚合代替继承,和代理不一样的是主动权在谁手里,聚合是主动的,自己知道的,代理是被动,自己甚至不知道 Component:抽象被装饰组件,定义都有哪些功能。 ConcreteComponent:抽象被装饰组件实现类 Decorator:抽象****装饰器 阅读全文

posted @ 2025-10-14 23:10 chuchengzhi 阅读(5) 评论(0) 推荐(0)

中介者、调停者Intermediary模式

摘要: 调节互相直接的关系 该模式让你将对象间的所有关系抽取成为一个单独的类, 以使对于特定组件的修改工作独立于其他组件。 抽象中介者接口声明了一个能让组件将各种事件通知给中介者的方法。中介者可对这些事件做出响应并将执行工作传递给其他组件。 具体中介者类可解开各组件之间相互交叉的连接关系并将其转移到中介者中 阅读全文

posted @ 2025-10-14 23:10 chuchengzhi 阅读(6) 评论(0) 推荐(0)

责任链模式ChainofResponsibility

摘要: 简单实现--实现链式调用以及调用链中断 interface Filter { boolean doFilter(Msg m); } class HTMLFilter implements Filter { @Override public boolean doFilter(Msg m) { Stri 阅读全文

posted @ 2025-10-14 23:09 chuchengzhi 阅读(7) 评论(0) 推荐(0)

原型、克隆Prototype模式

摘要: 复制已有对象, 而又无需使代码依赖它们所属的类。 下面不是规范的克隆,这是复制 浅克隆(新属性指向原对象),深克隆 java自带,需要实现标记接口,重写clone方法。一个对象属性多指定起来麻烦会使用,不会比new有多的好处, JDK 中的原型克隆 注意字符串不需要,因为intern得到是常量池里面 阅读全文

posted @ 2025-10-14 23:09 chuchengzhi 阅读(5) 评论(0) 推荐(0)

享元模式FlyWeight

摘要: 共享元对象,放到一个池子里面 池化思想,提前几个,重复利用, String使用的就是享元(常量池) s3.intern() 内部指向常量池的引用,****intern就能拿到常量池的引用 public class TestString { public static void main(String 阅读全文

posted @ 2025-10-14 23:09 chuchengzhi 阅读(3) 评论(0) 推荐(0)

适配器_转换器模式adapter

摘要: Target(目标接口):所需要转换的所期待的接口 Adaptee(源角色):需要适配的接口 Adapter(适配器):将原接口适配成目标接口,继承原接口,实现目标接口 一些流处理器是对其它类型的流源的适配。这就是适配器模式的应用 FutureTask接收Runnabel转换为Callable 使用 阅读全文

posted @ 2025-10-14 23:08 chuchengzhi 阅读(6) 评论(0) 推荐(0)

设计模式、设计原则、重构与编码规范(设计模式之美笔记)

摘要: 设计模式要干的事情就是对复杂解耦。利用更好的代码结构将一大坨代码拆分成职责更单一的小类,让其满足高内聚低耦合等特性。 创建型模式是将创建和使用代码解耦,结构型模式是将不同的功能代码解耦,行为型模式是将不同的行为代码解耦。 而解耦的主要目的是应对代码的复杂性。设计模式就是为了解决复杂代码问题而产生的。 阅读全文

posted @ 2025-10-14 23:08 chuchengzhi 阅读(7) 评论(0) 推荐(0)

桥接Bridge

摘要: 分离抽象与具体实现,让他们可以独自发展 用聚合代替继承的方式连接抽象和具体 https://refactoringguru.cn/design-patterns/bridge 应用1 Gift -> WarmGift ColdGift WildGift GiftImpl -> Flower Ring 阅读全文

posted @ 2025-10-14 23:07 chuchengzhi 阅读(7) 评论(0) 推荐(0)

模板方法TemplateMethod

摘要: 就是钩子函数 模板已经写好了 重写方法,系统自动调用,都是模板方法 使用的时候面向接口编程,这就是模板方法 在我们开发业务逻辑的时候,可能会遇到流程复杂的逻辑,而这个复杂逻辑本身是可以拆解成多个小的行为,这些小的行为本身可能根据业务场景的不同而有所变化。 这里我们以转账流程为例,如下图所示,整个转账 阅读全文

posted @ 2025-10-14 23:06 chuchengzhi 阅读(5) 评论(0) 推荐(0)

命令模式

摘要: 解耦:通过命令对象解耦,而不是直接操作想要操作的对象。 这样的好处就是在修改被操作的对象的方法的时候,只需修改中间的调用者这一个地方,而不是把之前的所有的调用者都修改一遍 增加命令的时候只需增加命令类即可,命令类就是对编辑器操作的包装,基础功能早就在上面写好了。命令类就是起到了解耦,增加命令(组合命 阅读全文

posted @ 2025-10-14 23:06 chuchengzhi 阅读(8) 评论(0) 推荐(0)

观察者模式Observer

摘要: 观察者接口:Observer接口、Listener接口、Hook、Callback 具体观察者:实现Observer接口 事件类 :不仅仅包含时间,事件,还包含事件源。这样观察者拿到事件知道是谁发的才可以做有区别的处理 事件源对象:被观察者Object, 事件源对象,新建事件对象。事件源自己会维护很 阅读全文

posted @ 2025-10-14 23:05 chuchengzhi 阅读(3) 评论(0) 推荐(0)

构建器模式Builder

摘要: 分步骤创建复杂对象(有众多复杂参数,基本让人看不懂的构造函数)。 该模式允许你使用相同的创建代码生成不同类型和形式的对象。 构造者模式最核心的思想就是将创建复杂对象的过程与复杂对象本身进行拆分。通俗来讲,构造者模式是将复杂对象的创建过程分解成了多个简单步骤,在创建复杂对象的时候,只需要了解复杂对象的 阅读全文

posted @ 2025-10-14 23:05 chuchengzhi 阅读(6) 评论(0) 推荐(0)

工厂方法+抽象工厂设计模式

摘要: 基本的多态的使用 简单工厂 随便一个东西,简单create方法就是简单工厂 单例可以看做是简单的工厂 可扩展性不好。每次添加都要新的方法 工厂方法模式 Factory 接口:工厂方法模式的核心接口之一。使用方会依赖 Factory 接口创建 Product 对象实例。 Factory 实现类( Fa 阅读全文

posted @ 2025-10-14 23:02 chuchengzhi 阅读(9) 评论(0) 推荐(0)

导航

杭州技术博主,专注分享云计算领域实战经验、技术教程与行业洞察, 打造聚焦云计算技术的垂直博客,助力开发者快速掌握云服务核心能力。

褚成志 云计算 技术博客