Jackson 实战常用技巧


本文介绍了Jackson库在Java开发中常用的JSON处理技巧,基于Jackson 2.14.3版本。涵盖的注解有@JsonValue、@JsonProperty、@JsonIgnore、@JsonInclude、@JsonFormatter,并讨论了常用场景如全局设置、日期配置、序列化类型信息保留、父子类多态序列化以及泛型处理。文章通过示例代码展示了如何使用这些技巧,同时提到了未来可能的更新。

oneapi 无法接收 webflux 流式数据解决


OneAPI项目遇到流式数据问题,因SSE前缀处理不一致:OneAPI使用`data: `判定,而Spring WebFlux用`data:`,导致通信错误。解决方案是用自定义编码器替换默认的`ServerSentEventHttpMessageWriter`,以匹配OneAPI格式要求。此问题源于两者间的协议格式不一致。

替换jar包中class文件


本文介绍了如何在没有源码的情况下修改Spring Boot JAR包。过程包括解压JAR包、反编译关键class文件、修改源码、重新编译class文件、替换原有class文件,并最终将修改后的文件重新打包为可执行的JAR。在打包时要注意,确保嵌套的JAR文件使用存储模式,以符合Spring Boot的要求。这一系列步骤可以帮助用户自定义和优化现有的Java应用程序。

Nacos配置删除不刷新


本文探讨了在Nacos注册中心中删除配置项后无法动态刷新的问题,尤其是简单类型、列表类型和Map类型配置。主要原因在于Spring在rebind bean时仅调用destroy和init方法,而非重新创建bean。解决方案包括在配置类中添加`@PreDestroy`方法以销毁属性,并在需要的bean上加注解`@RefreshScope`以触发Spring刷新。

Mybatis源码分析之多级缓存


本文详细介绍了MyBatis的缓存机制,包括一级缓存和二级缓存的概念、开启方式、失效时机及注意事项,并通过源码分析解释了缓存的工作原理和使用中的一些问题,建议在生产环境中谨慎使用二级缓存。

cola状态机


本文介绍了状态机的设计思路和细节,包括状态、事件、流转、条件和动作等概念。提供了外部流转、内部流转、条件流转和多对一流转的使用方法示例,展示了如何通过代码实现状态机的不同流转方式,确保状态机能根据不同条件和事件进行正确的状态转换。