- 博客(221)
- 资源 (6)
- 收藏
- 关注
原创 基于枚举 + 注解的 Java 数据脱敏实践(fastjson 序列化场景)
环节方案策略定义枚举 +,策略即代码字段标记自定义注解@Sensitive,声明式配置触发执行fastjson反射扫描注解数据安全只在输出端脱敏,不污染原始对象枚举管"怎么脱",注解管"脱哪里",过滤器管"什么时候脱"。三者解耦,任何一层都可以独立扩展。
2026-08-27 12:08:03
227
原创 工程如何打包并验证 Chrome 80 兼容性
背景:本项目是一个基于 Vite 5 构建的大型 React 微前端应用(含 antd、echarts、dayjs 等重型依赖)。部分内网用户仍在使用(发布于 2020 年初,V8 8.0),而 Vite 默认按现代浏览器(原生 ESM、可选链、空值合并、Array.at()等)输出产物。本文总结我们如何在不放弃现代开发体验的前提下,让打包产物平滑运行在 Chrome 80 上,并给出可落地的验证流程。
2026-08-18 10:06:34
362
原创 手把手实现一个 Spring Boot Starter:把第三方类自动装入 IOC 容器
在日常开发中,我们经常会引入各种第三方 SDK(OSS、MinIO、短信、支付等)。如果每次都在业务项目里手动new对象、手动注入配置,既繁琐又不优雅。Spring Boot 给出的标准解法就是。本文以一个极简示例为例,拆解"如何让一个第三方类被自动注册进 IOC 容器"。
2026-08-07 17:41:02
186
原创 把多个 Spring Boot 子模块整理进一个 Maven 聚合工程
记录一次真实的多模块 Maven 工程整理过程:从复制工程、裁剪依赖、改名、解决 IDEA 报错到统一端口,踩过的坑与最终方案。
2026-08-04 09:43:45
199
原创 MySQL 8.4 容器启动后客户端连不上:Plugin ‘mysql_native_password‘ is not loaded
别再抄 5.7 时代的配置模板了。这行配置在网上流传了近十年,但从 8.4 开始它已经是错误配置。镜像 tag 一定要写死小版本。mysql:8或会在某次后悄悄从 8.0 跳到 8.4,然后你的服务在半夜挂掉。认证插件迁移宜早不宜迟。9.x 已经删掉 native 插件,现在花十分钟把账号改成,比将来大版本升级时被迫加班要划算。初始化型参数要提前定好(部分场景)这类参数写进数据目录,改了就得重建。需要我把按方案一直接改掉吗?
2026-08-03 10:47:07
350
原创 jjwt 0.9.1 在 JDK 11+ 上的两个“坑”与完整解决方案
环境:Spring Boot 3.5.16 / Java 21 / jjwt 0.9.1场景:在单元测试中签发 JWT,连续踩中两个运行时异常。
2026-07-31 13:36:26
161
原创 为什么 .gitignore 配置了却不生效?—— 一次 .idea 目录忽略失败的排查记录
要点说明.gitignore的作用范围只影响未跟踪的文件,对已跟踪文件无效验证规则是否匹配已跟踪文件想忽略后提交忽略整个目录直接写/dir/,不要用*.*(会漏掉无扩展名文件)这是 Git 使用中最常见的误区之一:.gitignore不是"删除跟踪"的工具,而是"防止跟踪"的工具。遇到"配置了却不生效"的情况,第一反应应该是检查文件是否已经被跟踪。
2026-07-30 17:00:09
139
原创 一次 MyBatis 统计查询引发的 ClassCastException:Long 不能强转为 Integer
COUNT()SUM()等聚合函数的结果,在 MyBatis 中通常映射为LongBigDecimal),而不是Integer。接收查询结果时,要清楚每个字段的实际类型,不要凭直觉强转。引用类型之间不能随意强转LongInteger没有继承关系,必须用数值转换方法(如intValue()涉及可能大数值的统计量,优先使用Long或BigDecimal承载,避免int溢出。一个小小的统计接口,背后是对 JDBC 类型映射规则的理解偏差。把Long当Integer。
2026-07-30 16:25:17
189
原创 MyBatis 动态更新 SQL 的那些坑:从 `updateById` 改造说起
MyBatis 的里写的是OGNL 表达式。当字段是与""(空字符串,本质是String)做!比较,由于类型不同,OGNL 会直接判定为不相等,结果恒为true;再和前面的X!= null用and连接:字段为null→null!= null为false,整体false,被跳过(正确);字段非null→X!= ''恒为true,整体等价于只看X!= null。所以gender!= ''对Short字段来说,和gender!= null完全等价,多写的!= ''
2026-07-30 11:19:58
218
原创 Spring Boot 启动报错:Port 8088 was already in use 端口被占用的排查与解决
IDE 重启时,上一次运行的 Java 进程没有被真正终止,它仍然在后台监听 8088 端口。新启动的服务「抢不到」这个端口,Spring Boot 的。,那就是上次没退掉的 Spring Boot 进程,杀掉即可。换端口后,前端调用后端接口的地址也要同步改。检测到端口不可用后直接启动失败退出。项目中端口是固定配置的(以本工程为例,执行完后再重新启动服务,问题即可解决。改端口只是临时避让,治标不治本。服务直接启动失败,退出码为 1。问题,而不是配置错误。
2026-07-30 10:53:30
184
原创 MyBatis 嵌套结果映射 Bug:列名冲突导致集合被去重只返回一条
调用接口,数据库emp_expr表中该员工有但接口exprList只返回了id18910job"1"
2026-07-30 10:38:26
180
原创 upload在表单中宽度撑满设置
.ant-upload-select (空格)+ .ant-upload-select — 选中当前元素内部的所有 .ant-upload-select 子元素(后代选择器)[&_.ant-upload-select]:!& 引用当前元素自身(类似 Sass/Less 中的 &)w-full Tailwind 的 width: 100%[ ] 任意选择器定界符,里面写标准 CSS 选择器。Tailwind 的!important 前缀。: Tailwind 的变体分隔符。
2026-06-08 11:00:06
192
原创 eslint在react中的常用片断
1. 禁止依赖检查 eslint-disable-next-line react-hooks/exhaustive-deps。
2025-08-26 09:52:23
297
原创 echarts中一些关键的配置
8, 双y轴设置,配置yAxis和series均为数组,各自中对象的name值对应,其中series中某一个对象设置yAxisIndex: 1则可以将其置于右侧。2. label与empasis,pie中为显示标签,与某区域选中高亮时显示的配置,empasis中可以设置label,itemStyle等。1. series中silent: true,不响应鼠标的事件,在pie中应用较多,自动切换不同扇形,不用响应鼠标移入移出事件。还可以设置图表上下左右的距离。
2025-05-14 10:02:30
363
原创 uniapp工程中解析markdown文件
导入md文件时必须加?raw,配置完成后重新启动一下开发服务即可!4. 在工程页面中引入markdown格式文件并渲染。2. 创建vite.config.js配置文件。3. 在dCloud插件市场安装以下。1. 安装以下3个依赖包。
2025-03-19 11:53:58
1625
原创 gitcode、gitlee、gitlab等拉取代码问题
复制id_rsa.pub内容至SSH 公钥模块中,新建一个公钥将内容粘进去。1. 无法使用用户名和密码的方式拉取代码?使用ssh方式,mac系统下。
2025-01-08 14:33:11
208
原创 z-index失效问题
2. z-index的“从父原则”。当你发现把z-index设的多大都没用时,看看其父元素是否设置了有效的z-index,当然别忘了先看看自身是否设置了position。fixed元素会产生新的层叠上下文,所以在使用z-index时会遇到无论设置多大的值都无法起效。所以,如果想通过z-index改变层级,一定要设置该元素的position属性。1. z-index只有在设置了position为。
2024-10-10 19:31:15
325
原创 在OSX上: 使用brew安装nginx 后,在通过编译安装第三方模块
后,复制objs/nginx至nginx的安装目录将原来的nginx文件覆盖。2. mac环境编译源码需要安装pcre、openssl等第三方依赖,可参考。3. nginx可支持的配置参考。1. 下载nginx安装包。
2024-09-18 20:45:49
412
转载 关于发布 npm 包镜像库,马上 pnpm 安装报未找到版本的问题?
一天内发布多个版本的新包后,因为包发到npm服务上,淘宝源需要定期同步,有时发新包后不能马上安装新包版本,提示找不到,则需要在淘宝源上手工同步一下。
2024-06-21 19:00:36
198
转载 react程序中 Failed to execute ‘insertBefore‘ on ‘Node‘&& Cannot read property ‘nextSibling‘ of null
在报错的组件外面增加一个div即可~
2024-04-25 13:46:20
219
1
原创 EventStream获得数据流,前端配置获得推送的流
如上图所示,请求一个接口,接口以数据流的方式向客户端推送数据,默认需要消息收集一条,在原来的基础上追加,在create-react-app生成的工程中,如果代理使用了中间件http-proxy-middleware,同时devServer设置了compress: false或未设置时,则可以正常接收每一条。如果使用了@craco/craco,则会出现一次性接收所有消息,同时一次性渲染。1. 在devServer的配置中增加如下配置。
2024-02-22 18:44:07
2394
原创 tailwind&open-props
2. open-props for create-react-app工程配置。1. tailwind for create-react-app工程配置。在其它css中可使用open-props提供的变量。ide不会报无法识别css自定义属性的错误。入口index.css头部引入。
2024-01-17 16:43:46
893
原创 抠某区域地图方法
2. 选择要抠出来的区域,右侧选择要下载的json文件,如红框所示。3. 打开下载的文件,内容全部复制。5. 如下图所示,将下载文件内容赋值。1.打开阿里云数据可视化平台。4. 打开百度地图示例。
2023-11-17 16:09:52
3344
原创 redux connect组件在手工传入参数时报错
redux使用connect创建一个高阶组件时后,如果手工给该组件传入参数时会因参数不同会报错,此时可以如下处理:
2023-10-28 15:52:54
169
原创 移动端判断是否为ios&网页适配ios安全区
1. -webkit-touch-callout属性用法极少,可参考。2. iphone安全区适配方案。
2023-09-13 19:38:26
690
原创 npm publish包报404,is not in the npm registry错误
2. 登录npm,使用登录名发布包,包名命名原则“@登录名/包名”,或 “包名”
2023-09-08 18:24:00
5765
原创 pnpm 升级
3. sudo npm install -g pnpm 重新安装,node默认使用16。2. 执行which pnpm,在结果目录中删除pnpm。1. 在以下路径下删除pnpm包。
2023-09-07 22:17:29
2380
原创 mysql:[Some non-transactional changed tables couldn‘t be rolled back]不支持事务
3. 原来使用MyIsam创建的表同样不支持,需要新建表,或通过alter命令修改原来创建的表引擎为innoDB,【修改表引擎】1. mysql创建表时默认引擎MyIsam,因此不支持事务的操作;【my.conf详情说明】
2023-09-03 10:48:14
551
原创 [mysql]lower_case_table_names导致的:version mismatch: library version is ‘6.5.0.1‘, db version is问题
unix,linux下lower_case_table_names默认值为 0 .Windows下默认值是 1 .Mac OS X下默认值是 2。lower_case_table_names = 1 表名存储在磁盘是小写的,但是比较的时候是不区分大小写。lower_case_table_names=2 表名存储为给定的大小写但是比较的时候是小写的。lower_case_table_names=0 表名存储为给定的大小和比较是区分大小写的。
2023-08-31 17:49:06
670
原创 CMS系统使用catalina.sh启动时报错:java.net.SocketException: Can‘t assign requested address
使用编辑器打开tomcat/bin/catalina.sh,搜索JAVA_OPTS=,在搜索结果第一项前追加。
2023-08-31 17:13:33
182
原创 mac下安装tomcat
2. 授权bin目录下所有.sh文件权限sudo chmod 755 *.sh。4. 关闭程序 sudo sh ./shutdown.sh。3. 启动程序 sudo sh ./startup.sh。
2023-08-23 11:36:00
1172
信息录入校对系统
2011-10-24
asp&dreamweaver插件大全
2008-11-13
asp&dreamweaver里的"横向重复插件"
2008-11-13
电商业务工作流
2014-03-30
电商工作流二
2014-03-30
公司内部定餐系统
2014-04-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅