- 博客(200)
- 问答 (1)
- 收藏
- 关注
原创 【SpringBoot】字符串参数自动Trim
针对用户输入字符串时可能误输入空格的问题,通过自定义Jackson反序列化器对所有String类型字段自动执行trim。
2025-11-28 09:45:45
88
原创 【错误处理】Could not generate CGLIB subclass of class
在 Kotlin SpringBoot 项目中遇到 CGLIB 代理错误,原因是 Kotlin 类默认为 final 导致无法生成子类。解决方法是将需要代理的类声明为 open 以允许继承。这是因为 CGLIB 动态代理需要通过创建目标类的子类来实现代理功能,而 final 类不可继承。
2025-11-18 15:22:37
281
原创 【SpringBoot】输出字典编码时额外输出字典值
定义字典接口/*** 字典编码*//*** 字典值*/定义字典,字典编码字段声明@EnumValue注解这是 MybatisPlus 提供的注解,这样在存储数据时,会使用 code 字段进行存储@Getterunknown(0, "未知"),male (1, "男"),female (2, "女");@EnumValue@Override} else {// 额外输出 xxxText 字段。
2025-11-16 15:07:49
70
原创 【工具类】Spring工具类 - StopWatch的用法
Spring框架的StopWatch是一个轻量级计时工具,用于开发阶段性能分析。它支持任务分段计时、嵌套任务以及多种时间单位统计,提供简洁和详细两种结果输出格式。典型用法包括创建实例、使用start/stop方法记录任务时间,通过getTotalTime和prettyPrint方法获取分析结果。注意事项包括合理命名任务、避免生产环境使用、正确处理异常情况。还演示了条件计时等高级用法,适合用于API性能分析等场景。
2025-08-15 14:45:36
494
原创 【环境安装】调整Idea缓存目录,释放C盘空间
IntelliJ IDEA默认将配置和缓存文件存储在C盘,长期使用会占用大量空间(如5GB)。本文以IDEA 2024为例,介绍如何迁移四个关键目录:config、system、plugins和log路径
2025-08-01 16:43:22
1589
原创 【Postgresql】阿里云服务器安装Postgresql
本文详细介绍了在阿里云CentOS 8服务器上安装PostgreSQL 15的完整流程。从PostgreSQL安装到配置实现远程登录的完整过程。
2025-07-29 15:04:06
612
原创 【Git】Git提交的脚本无执行权限怎么办
解决Git上传脚本执行权限问题 问题描述中遇到的情况是:本地编写的deploy.sh部署脚本上传到Git仓库后,pull到服务器时没有执行权限,手动chmod修改权限又会影响后续pull操作。 解决方案:通过git update-index命令在本地直接修改文件的权限设置并提交到版本控制: 添加执行权限:git update-index --chmod +x deploy.sh 删除执行权限:git update-index --chmod -x deploy.sh 提交并push到远程仓库 这样下次pul
2025-06-23 14:12:00
358
原创 【环境安装】Pnpm安装配置全指南
pnpm是一款高效的JavaScript包管理工具,相比npm和yarn,在性能、功能上有显著优化。它支持工作区、隔离的node_modules、自动对等依赖安装等特性,并提供内容寻址存储、动态包执行等独特功能。通过npm全局安装pnpm后,可配置国内镜像源(如淘宝源)和自定义存储路径(避免占用C盘空间),并定期升级版本。其锁文件(pnpm-lock.yaml)和灵活的配置选项(如全局包目录)进一步提升了开发效率
2025-06-16 16:29:07
1526
原创 【SpringBoot】配置 Servlet&Filter&Listener 三合一
Spring 容器整合并管理 Servlet、Filter、Listener 三种 Servlet 组件,如何配置可以支持 Spring 容器的依赖注入。
2025-03-05 16:11:22
211
原创 【错误处理】pathspec ‘xxx‘ did not match any file(s) known to git
git 签出报错 did not match any file(s) known to git 的处理方法
2024-06-28 17:59:13
3146
原创 【错误处理】has naming conflicts with other components, ignored
Vite项目中因多个组件命名为Index.vue导致命名冲突报错,解决方案是在vite.config.ts中为unplugin-vue-components插件配置directoryAsNamespace: true,允许以子目录作为组件命名空间前缀,避免同名文件冲突。
2024-06-22 10:55:47
2769
1
原创 【错误处理】Property glob does not exist on type ImportMeta
在 Vite 项目中使用 import.meta.glob 时出现 "Property 'glob' does not exist" 类型错误,可通过两种方式解决:1)在 tsconfig.json 的 compilerOptions.types 中添加 "vite/client";2)在 .d.ts 文件中添加 /// <reference types="vite/client" /> 并确保文件被包含在 tsconfig.json
2024-04-19 12:19:21
1862
原创 Vite+Vue3+TS(4)整合路由组件Vue-Router之导航守卫
导航的过程为了保持良好的可扩展性,设计了守卫及钩子,守卫可以重定向路由,而钩子则不能修改导航本身。守卫跟钩子有全局定义的,也有路由私有的,全局定义的每次导航都会被调用,而路由私有的则只会导航到相应路由时才会被调用。
2022-07-18 11:10:37
2660
原创 Spring源码分析 | FactoryBean的使用及实现原理
Spring是目前使用最广泛的J2EE框架,主要包括IOC及AOP两部分功能,IOC即依赖注入,
2022-06-21 16:34:19
312
原创 Spring源码分析 | BeanFactoryPostProcessor的用法与源码分析
接口只提供了一个回调方法,通过该方法可以调整容器的属性。 还有一个子接口 ,该接口也提供了一个回调方法,通过该方法可以向容器注册 。 方法的回调时间在 方法之前,也就是说优先注册 。BeanFactoryPostProcessor 在容器启动过程中的执行时机Spring 应用通过 方法启动容器,在 中会对所有的 执行回调, 的执行时间是在完成 加载之后,执行 实例化之前。所以在 中可以修改容器属性,可以注册 ,但最好不要手动做 Bean 实例化,不然可能导致不可预知的错误。如何注册 B
2022-06-20 21:30:40
442
原创 Spring源码分析 | 设置自定义PropertyEditor
自定义一个对象,为 address 属性通过 注解设置一个默认值,该值是一个字符串,而属性类型是一个对象,正常来说肯定会报错,通过自定义 进行类型转换才可以正常注入。编码自定义 PropertyEditor创建类型转换器 类继承自 类,并重写 方法。自定义 PropertyEditorRegistrar创建类型转换器登记器 ,实现接口 ,在 方法实现对 类型转换器的注册。注册 CustomEditorConfigurer 是一个 ,在 Spring 启动时,会回调 方法实现对
2022-06-08 15:01:18
342
原创 Spring源码学习 | ResourceLoader资源加载
Spring 将所有的资源统一成了 Resource,不同的资源对应 Resource 的一个实现类,众多的实现类共同组成 Resource 家族,需要加载什么资源,只需要实现 Resource 接口,就可以成为 Resource 家族的一员,统一使用 Resource 接口进行资源加载。但是,在使用时,需要使用者清楚知道不同的资源对应哪一个实现类,以及实现类该如何构建、如何使用,说到底就还是面向实现编程而不是面向接口编程。为了进一步简化资源加载过程,Spring 又封装了 ResourceLoader
2022-05-28 11:57:23
422
原创 【Spring源码分析】AntPathMatcher的用法及源码剖析
Spring框架设计了PathMatcher接口用于支持带通配符的路径匹配,其默认实现AntPathMatcher支持Ant风格的通配符(如?、*、**)和参数提取(如{var})。该接口广泛应用于资源扫描、请求映射和拦截器路径匹配等场景。核心方法doMatch通过拆分路径并逐段匹配,支持完全匹配、前缀匹配及变量捕获。AntPathMatcher还提供路径合并、动态片段提取等功能,并通过缓存优化性能。
2022-05-25 10:52:20
7444
2
原创 【Maven】如何解决版本冲突
Maven依赖冲突通过两条原则解决:1)最短路径优先,选择路径更短的依赖版本;2)路径等长时,按pom文件声明顺序选择靠前的版本。例如A→B→C(1.0)与A→D→E→C(2.0)会优先选择路径短的1.0版本;若路径长度相同,则按声明顺序决定。
2022-05-23 23:34:19
1160
原创 【Maven】安装与配置
从 Apache 官网下载 Maven 二进制版本,解压至。,然后创建一个符号链接,方便后续使用。,在最后面加上如下内容。
2022-05-23 23:08:12
250
原创 npm、cnpm、yarn、tyarn的区别
npm包管理器,安装 nodejs 会自动安装。检查版本npm -vcnpmnpm 的国内镜像,因为 npm 的包都在外网服务器上,所以下载会比较慢,使用国内镜像就会快得多。可以使用 npm 进行安装,使用淘宝的镜像npm install -g cnpm --registry=https://registry.npm.taobao.org检查版本cnpm -vyarn与 npm 一样的包管理器,但是 yarn 是并行下载的,所以速度更快。安装npm install.
2022-04-18 16:14:48
717
空空如也
JqGrid会自动加载Hibernate的lazy属性字段吗?
2011-11-22
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅