基于 Java 的动态验证框架,配置+脚本+热更新的方法来实现业务逻辑验证/业务规则获取
一个基于 Java 的动态校验框架,使用配置 + 脚本 / 规则引擎 + 热更新的方式让企业中的业务校验更加动态,并且还提供了熔断机制对于敏感业务能够有效的提供保护,以及对于校验触发条件的统计,让业务能够更好的感知业务卡点,为以后的业务发展方向能够分析以及制定方案。
采用模块化设计,核心模块与 Spring Boot Starter 分离,便于在不同环境中使用: - 核心模块 (-guard-core) 提供基础的校验能力
- Spring Boot 集成模块 (-guard-spring-boot-starter) 提供自动配置和 Spring 集成
- 引擎模块 (-guard-engine) 提供不同的规则引擎,如 Groovy、JavaScript和Aviator
框架通过 SPI (Service Provider Interface) 机制实现插件化扩展,支持动态加载不同的校验器、解析器等组件。 功能特性- 多规则引擎支持:支持 Groovy、JavaScript、QLExpress4 和 Aviator
- 灵活的校验链机制:通过配置定义校验节点,支持多种数据源(JSON、XML、SQL)
- Spring Boot 集成:提供 Starter 模块,开箱即用
- 动态规则加载:支持从本地文件、数据库等多种来源加载校验规则
- 熔断机制:内置计数器熔断器,防止系统过载
- AOP 拦截:方法级校验拦截,实现自动执行校验过程
- 插件机制:支持动态加载不同的校验器、解析器等组件
- 校验追踪:支持校验追踪,记录拦截的触发条件,可以让用户对拦截的业务进行感知并且进行分析
使用示例在springBoot项目启动类上添加 [@EnableValidation] 加上这个注解springboot启动时会自动加载一整套流程 自动执行校验流程在配置文件中配置 validation.validationMethod 定义需要拦截的类,可以使用通配符 在需要校验的方法实现类上添加 [@DynamicGuard]注解 自行执行校验流程业务级验证流程, 在业务逻辑中调用显式的调用流程 提取码下载:
|