Loading

摘要: 概述 在前段时间,笔者的开源项目的用户反映项目在配置某个功能后,会在启动时候出现 "No servlet set" 的错误,这个问题具体可以参见 Crane4j isse#268。 问题的原因其实在标题已经剧透了,是因为 FactoryBean 被提前加载,进而间接造成 SpringMVC 组件被提 阅读全文
posted @ 2024-04-29 14:10 Createsequence 阅读(40) 评论(0) 推荐(0) 编辑
摘要: 概述 最近项目组在准备接入各种指标监控系统,笔者负责的部分刚好涉及到了 Druid,故记录一下在过程中遇到的各种情况和坑。 1. 直接使用 Druid 直接使用 Druid 的监控功能,需要直接将它提供的 Servlet 配置到 Web 容器中。具体可以直接参照官方文档。 配置信息采集:https: 阅读全文
posted @ 2024-03-31 15:50 Createsequence 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 概述 最近在对一个使用 JPA 的老项目进行多租户改造,由于年代过于久远,陈年屎山让人实在不敢轻举妄动,最后只能选择一个改造成本最小的方案,那就是通过拦截器改 SQL,动态添加租户 ID 作为查询条件。 本篇文章用于记录笔者基于该方案解决此问题的踩坑和思考过程,部分代码与实际代码有所出入。如果希望直 阅读全文
posted @ 2024-03-25 00:59 Createsequence 阅读(379) 评论(0) 推荐(0) 编辑
摘要: 前言 这一年多好久没有更新自己的博客了,攒了不少笔记要整理,刚好换了电脑需要重新配环境,于是决定趁这个机会给自己用来搭建博客的 hexo 和 next 主题升个级(其实是重新安装),然后把笔记整理整理润色一下重新发到博客上。 虽然这两者的安装已经非常傻瓜式了,但是实际上一通操作下来还是踩了一些坑,于 阅读全文
posted @ 2024-03-21 00:03 Createsequence 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 概述 在之前的文章中,我们已经对 SpringAOP 的运行机制有了清晰的了解。然而,在本文中我们将补充关于 AspectJ 切面的内容。 尽管我们可以使用 AspectJ 的注解来定义切面逻辑,但实际上它们的实现仍然基于 Advisor 和方法拦截器。我们可以在最常用的 AutoProxyCrea 阅读全文
posted @ 2024-03-20 23:54 Createsequence 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 概述 在之前的文章中,我们已经对 SpringAOP 的关键组件进行了描述,并且了解了其基本操作和流程。在本文中,我们将进一步深入源码,揭示 SpringAOP 的内部实现细节,理解其运行机制的每个环节,包括切面的织入方式、代理对象的创建过程、连接点的定位与匹配等。通过对完整运行流程的深入研究,我们 阅读全文
posted @ 2024-03-20 23:51 Createsequence 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 概述 spring-aop 模块是 Spring 框架中最重要的组件之一,它为我们提供了强大的 AOP 功能,并为其他扩展功能(如声明式事务、声明式异步处理等)提供了支持。在本文中,我们将深入探讨 SpringAOP 的源码,从代理对象的创建开始,揭示 SpringAOP 的运行机制。 首先,在阅读 阅读全文
posted @ 2024-03-20 23:49 Createsequence 阅读(58) 评论(0) 推荐(0) 编辑
摘要: 前言 SpringMVC 可以说是我们日常开发中最依赖的 Spring 组件了,它基于 Servlet 容器实现,允许我们通过注解的方式开发 Web 程序。在本篇文章,将深入 SpringMVC 源码,梳理 SpringMVC 对 Web 请求处理流程,弄懂相关核心组件的原理,最终做到在使用的时候知 阅读全文
posted @ 2024-03-20 23:41 Createsequence 阅读(50) 评论(0) 推荐(0) 编辑
摘要: 前言 JDK8 为我们带来了 CompletableFuture 这个有意思的新类,它提供比 Future 更灵活更强大的回调功能,借助 CompletableFuture 我们可以更方便的编排异步任务。 本着知其然也要知其所以然的想法,笔者结合源码深入了解了一下 CompletableFuture 阅读全文
posted @ 2022-12-07 18:02 Createsequence 阅读(590) 评论(4) 推荐(3) 编辑
摘要: 前言 之前我一个搞网络安全的朋友问了我一个的问题,为啥用 PreparedStatement 预编译的 SQL 就不会有被 SQL 注入的风险? 第一时间我联想到的是八股文中关于 Mybatis 的脚本 ${} 和 #{} 的问题,不过再想想,为啥 ${} 会有 SQL 注入的风险,而 #{} 就没 阅读全文
posted @ 2022-12-07 18:01 Createsequence 阅读(6302) 评论(9) 推荐(9) 编辑