index.md 2.7 KB

知识索引

领域知识的轻量索引。每条用一句话说清核心逻辑。 格式:- 触发关键词: 一句话核心逻辑 → 包名.类名.方法名(可选)

业务知识

(随实践积累补充)

技术约定

  • 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,数据权限只使用 activeOrgIdtech-org-scoped-role-permission.md

    踩坑记录

  • 多余依赖: 注入未使用的依赖会导致不必要的依赖要求

  • SpEL解析异常: SpEL表达式解析失败会影响主业务,需要异常处理

  • 参数名获取失效: StandardReflectionParameterNameDiscoverer在无-parameters编译参数时会失效,改用DefaultParameterNameDiscoverer

  • 切面全局开关: 仅靠自动配置条件注解不够,建议在切面中再次检查开关状态