
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
针对项目中的问题很多,尤其是 spring boot 3 带来的变化大,针对一些问题,需要从源码层次入手看问题。之前整理的升级相关的文章参考链接。

仿照 SpringMvcContract 新建一个类,例如 CustomSpringMvcContract,将 SpringMvcContract 代码全部复制过来,然后把 SpringMvcContract 对应的代码替换为 CustomSpringMvcContract,processAnnotationOnClass() 中最后的代码做一下调整。项目之前运行没问题,考虑到这个问题是升级的问题

但是与HttpServletRequest和HttpServletResponse最终有关的是spring boot里的org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext。在spring中鼎鼎有名的就是AbstractApplicationContext的refresh()了。在网上搜了一下

其实是将 ObjectMapper 注入到 ioc 容器中,但是源码中很多地方用了 new ObjectMapper() 的方式来获取 ObjectMapper 对象,对于需要 java 8 时间的情况需要特殊处理。或者工具类中创建静态变量的方式来处理。一般使用打印json数据如下。近期在项目中遇到了一个问题。

一级缓存针对的是 SqlSession 层次,二级缓存针对的是 mapper 层次。最终的缓存类都是 PerpetualCache,只是二级缓存通过装饰器模式串联了多个 cache 实现,可以针对不同的功能串联不同的 cache 实现。一级缓存和二级缓存都有一个缺点,无法解决缓存共用的问题。所以,针对集群项目不建议使用一级缓存和二级缓存,最好禁用。

可以看到,通过一个简单的查询,mybatis 使用了责任链模式,通过内存缓存当前查询结果,但是这个只适用于那种单体应用,分布式应用的话使用一级缓存不太好,有缓存不一致的问题。如果数据量大的话会造成内存溢出的情况发生。所以,针对项目部署的是集群环境,不要用一级缓存。如果是单体数据量不大可以使用。可以看到,如果 SqlCommandType 值为 SELECT,flushCache 的值的情况如下如果

spring cloud stream整合rocketmq流程

mysql在docker运行环境变量
Direct IO也叫无缓冲IO,裸IO(rawIO),意思是使用无缓冲IO对文件进行读写,不会经过page cache。通常,我们使用的文件流读取、内存映射都属于 Cache IO,因为将数据写入文件,首先会写入cache,最终再落盘到 IO device 或者称为 disk上。cache IO 使得我们在写入、读取(预读取、顺序读取等特性)文件数据的时候,性能得以提升,能够从cache(内存)

摘要:Spring将于2025年随JDK25 LTS发布Spring Framework 7.0 GA,配套Spring Boot 4.0和Spring Cloud 2025.1版本。目前Spring Framework已发布多个里程碑版本(M1-M9)和RC1,Spring Boot发布了M1-M3和RC1,Spring Cloud发布了Oakwood系列的M1-M4。Spring Cloud









