- 博客(48)
- 收藏
- 关注
原创 【Spring AOP】操作日志的完整实现与原理剖析
本文记录基于 Spring AOP 实现操作日志的全过程,包括切面设计、注解定义、日志持久化及使用规范。内容涵盖 AOP 核心原理(切点、通知、代理机制)、操作日志表结构与代码实现,并总结了开发中易错点,如内部方法调用不触发 AOP、级联操作日志冗余等。最后简要梳理 AOP 在 Spring 中的其他常见应用场景。
2025-12-24 00:29:56
780
原创 【Spring Boot + OpenAPI 3】开箱即用的 API 文档方案(SpringDoc + Knife4j)
本文详细介绍在 Spring Boot 2.6+ 项目中,基于 OpenAPI 3 规范,使用 SpringDoc 生成 API 文档,并集成 Knife4j 提供增强 UI 的完整配置方案。涵盖依赖选择、YAML 配置、安全放行及文档信息定制,帮助告别 SpringFox,实现现代化 API 文档管理。
2025-12-05 20:08:01
831
1
原创 【数据库设计】逻辑删除与唯一约束冲突
本文探讨了逻辑删除与唯一约束的冲突问题。核心矛盾在于:业务要求同一用户只能有一条有效记录,但逻辑删除的记录仍占用唯一索引,导致新记录无法插入。文中通过医疗预约、员工管理、优惠券领取等案例说明该问题的普遍性,并提出三种解决方案,其中部分唯一索引最为推荐。该问题本质上是状态相关的唯一性要求,广泛存在于订单、设备绑定等场景。建议在新项目中优先采用部分唯一索引,并在设计阶段予以考虑。
2025-12-03 16:45:00
564
原创 【软件工程】关于设计模式的简单理解
本文介绍了五种常见的设计模式及其应用: 策略模式,模板方法模式,观察者模式,工厂模式:封装对象创建过程,单例模式。文中通过生活案例和使用场景示例(如Spring的单例实现)说明了各模式的典型应用。
2025-11-19 18:57:01
924
原创 【设计方案】MyBatisPlus自动填充审计字段
在MyBatisPlus中手动实现strictFill()方法,ThreadLocal结合Session管理上下文。
2025-04-09 10:17:22
1269
原创 解决PostgreSQL插入数据报错:duplicate key value violates unique constraint “xxx“
解决PostgreSQL插入数据时报错,简单学习比较PostgreSQL和MySQL的主键自增区别。
2025-03-28 11:49:41
1868
原创 【BUG分析】微服务无法读取Nacos中的共享配置
基于Spring Cloud微服务的商城系统,无法读取Nacos中共享配置的几个可能原因分析。
2025-03-12 09:06:03
740
原创 【数据结构05】排序
本文全面概述了常见的排序算法,基于基本思想与实现机制、性能特点对比以及实际问题中的应用示例,深入解析了不同类型的排序方法,包括插入类、交换类、选择类、归并类和线性时间非比较类排序,记录了学习这些算法过程中的理解和思考。
2025-01-01 22:03:19
915
原创 【Spring Boot】过滤敏感词的两种实现
基于Spring Boot的论坛系统实现敏感词过滤的两种方式:自行构建前缀树过滤器与使用第三方开源项目。
2024-06-10 19:35:40
4013
2
原创 【前端学习】D2-2:CSS基础
这篇文章为我重新系统学习前端的CSS篇时做的一些笔记。本文主要记录了复合选择器、元素模式、背景属性等CSS基础内容。
2023-03-07 14:04:10
1029
原创 【前端学习】D2-1:CSS入门
这篇文章为我重新系统学习前端时做的一些笔记。本文为CSS篇章的第一篇。CSS的主要使用场景是美化网页,用于布局页面。
2023-03-06 20:07:03
1081
原创 Spring Boot与Vue:实现图片的上传
本文记录了在 Vue 与 Spring Boot 相结合的项目中实现图片上传的两种方案,并介绍了这两种方案的优缺点。
2023-02-23 18:01:28
7130
5
原创 SpringBoot+MyBatis多表查询:以点餐系统的订单管理为例
通常一个订单中会包含多个菜品,本文基于SpringBoot+MyBatis的多表查询,实现点餐系统的订单查询(含单元测试)。
2022-12-08 11:03:12
1517
原创 Python爬虫:简单爬取粤菜菜谱
使用BeautifulSoup和正则表达式爬取粤菜菜谱中的菜名、工艺、口味、制作时长、食材、图片等信息。
2022-12-06 14:14:25
1089
6
原创 解决MyBatis报错:TypeException: Could not set parameters for mapping
解决了SpringBoot项目中的MyBatis数据库映射变量类型冲突问题。
2022-10-21 21:39:37
16561
原创 解决Matlab报错:函数或变量 ‘SVMcgForRegress‘ 无法识别
解决Matlab报错:函数或变量 'SVMcgForRegress' 无法识别
2022-04-14 17:28:54
8892
13
原创 W2-2:在Maven项目中进行Junit5单元测试
本文简单记录了在Maven中进行一次Junit5单元测试的操作过程,内容包含创建Java类、引入外部依赖、新建测试类、编写测试代码、代码覆盖率的步骤,以及操作过程中遇到的问题与其解决方法。
2022-03-08 19:09:22
2026
原创 解决AndroidStudio报错:Cannot resolve constructor ‘Intent()...‘
解决AndroidStudio报错:Cannot resolve constructor 'Intent()...'监听器类中获取上下文错误
2022-02-26 20:55:43
4936
原创 解决AndroidStudio报错:Cannot resolve symbol ‘R‘
解决AndroidStudio报错的路径引用问题:Cannot resolve symbol 'R'
2022-02-26 17:48:29
6336
原创 【计算机网络】思科实验(11):综合实验作业之局域网与路由协议
本次实验通过配置RIPv2协议、OSPF协议、静态路由、动态NAT实现了各局域网内的PC可经边界路由器进行私有IP到公有IP的转换,并成功访问公网服务器。
2022-01-15 01:01:36
24788
1
原创 【计算机网络】思科实验(10):动态路由协议OSPF
本次实验通过设置动态路由协议OSPF,实现PC可经由路由器转发ping通不同网段的Server。主要步骤有建立网络拓扑、三层交换机的端口设置(创建VLAN、分配VLAN端口、配置网关IP/SM)、配置路由协议(三层交换机、路由器)。
2021-12-14 10:30:00
17136
7
原创 【计算机网络】思科实验(9):动态路由协议RIPv2
本次实验通过设置动态路由协议RIPv2,实现PC可经由路由器转发ping通不同网段的Server。主要步骤有建立网络拓扑、三层交换机的端口设置(创建VLAN、分配VLAN端口、配置网关IP/SM)、配置路由协议(三层交换机、路由器)。
2021-12-13 08:45:00
14057
原创 【计算机网络】思科实验(8):网络地址转换之路由器动态NAT模拟
本次实验利用动态NAT完成了网络地址转换。主要步骤有建立网络拓扑、添加静态路由、添加IP映射信息。
2021-12-12 09:00:00
6233
1
原创 【计算机网络】思科实验(7):网络地址转换之路由器静态NAT模拟
本次实验完成了路由器静态NAT模拟实验。主要步骤有建立网络拓扑、添加静态路由、添加IP映射信息。
2021-12-11 20:52:04
12345
1
原创 【计算机网络】思科实验(6):路由器的静态路由配置
本次实验完成了路由器静态路由配置。主要步骤有建立网络拓扑、二层交换机的接口设置、路由器的接口设置(设置网关、路由器间串口的设置、添加静态路由)。
2021-12-10 21:14:21
43988
7
原创 【计算机网络】思科实验(5):单臂路由跨VLAN通信
本次实验使用单臂路由实现了跨VLAN通信。主要步骤有建立网络拓扑、二层交换机的接口设置(创建VLAN、交换机的VLAN端口分配、交换机的端口分配)、路由器的接口设置。
2021-12-09 22:29:03
21416
8
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅