领域知识的轻量索引。每条用一句话说清核心逻辑。 格式:- 触发关键词: 一句话核心逻辑 →
包名.类名.方法名(可选)业务知识
(随实践积累补充)
技术约定
- Spring Boot自动配置: 通过META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports文件注册自动配置类 →
tech-spring-boot-autoconfig.md- Maven多模块: 新增starter模块需要在父pom.xml的modules标签中添加模块声明 →
tech-maven-multimodule.md- SpEL表达式: 使用Spring Expression Language动态解析幂等键,需要异常处理 →
tech-spel-expression.md- AOP参数名: 使用DefaultParameterNameDiscoverer获取方法参数名,更加健壮 →
tech-aop-parameter-names.md- 全局异常处理: 自定义业务异常继承BusinessException,直接被全局异常处理器捕获 →
tech-global-exception-handler.md- Redisson版本兼容: redisson-spring-data 适配按 Spring Data Redis 主版本分模块,版本必须对齐,否则登录 StackOverflowError →
tech-redisson-spring-data-redis-compat.md- 异步导出数据权限: 异步导出后台线程脱离会话,须捕获/恢复租户与数据权限上下文,否则退化为全量越权 →
tech-async-export-data-permission-context.md- 公式引擎: 字段级公式用 Aviator + 配置 JSON 落字段定义,发布期 DAG 拓扑排序检测循环依赖,金额用 long(分) →
tech-formula-engine-aviator-dag.md- 多租户隔离加固: 区分租户业务表与平台定义表,数据权限失败关闭(恒假条件),回填脏数据前先去重防撞唯一键 →
tech-multi-tenant-isolation-hardening.md- 敏感数据脱敏: 脱敏占位回写防覆盖、认证字段@JsonIgnore、敏感配置键/缓存键拒绝明文、强制改密闭环、上传扩展名黑名单 →
tech-sensitive-data-masking-strategy.md- 表单设计器Schema转换: form-create 临时 ref_ id 需归一化为稳定 cmp_ id,表单配置优先同步字段资产 →
tech-form-create-forge-schema-normalization.md组织上下文角色权限: 数据中心和当前组织分层,用户角色授权落
sys_user_org_role,数据权限只使用activeOrgId→tech-org-scoped-role-permission.md踩坑记录
多余依赖: 注入未使用的依赖会导致不必要的依赖要求
SpEL解析异常: SpEL表达式解析失败会影响主业务,需要异常处理
参数名获取失效: StandardReflectionParameterNameDiscoverer在无-parameters编译参数时会失效,改用DefaultParameterNameDiscoverer
切面全局开关: 仅靠自动配置条件注解不够,建议在切面中再次检查开关状态