Oinone
产品
Oinone
Oinone Framework
100% 元数据驱动的企业级低代码框架
Aino
Aino
AI Innovation, Now I Know — 企业级智能体平台
用户案例价格社区
资源
📖
文档
开发文档与 API
💬
支持
技术支持
📄
更新日志
产品更新日志
🏡
关于
关于我们
0571-88757863

通用扩展点与平台SPI清单(Common Extension Points And SPI List)


一、SPI 机制

(一)Pamirs SPI 框架

整合三种服务发现机制,支持组件动态扩展:

  • 注解规则:
    • 接口通过@SPI指定默认扩展名(默认为 "pamirs")和加载工厂
    • 实现类通过@SPI.Service设置扩展名(Spring SPI 默认 Bean 名称,Java SPI 为全类名)
    • @Order/@Priority定义扩展优先级

(二)配置方式

1、Java SPI

  • 接口:public interface DemoApi { List<String> demo(); }
  • 实现类:@Order(10) public class DemoApiImpl implements DemoApi { ... }
  • 配置文件:META-INF/services/接口全类名 写入实现类全路径

2、Annotation SPI

  • 接口:@SPI("ext1") public interface DemoApi { ... }
  • 实现类:@SPI.Service("ext1") @Order(10) public class DemoApiImpl implements DemoApi { ... }

3、Spring SPI

  • 实现类:@Component("ext1") @Order(10) public class DemoApiImpl implements DemoApi { ... }

4、调用方式

// 指定扩展名调用
DemoApi ext = ExtensionServiceLoader.getExtension(DemoApi.class, "ext1");

// 按优先级获取列表
List<DemoApi> spis = ExtensionServiceLoader.getExtensionLoader(DemoApi.class).getOrderedExtensions();

// 快捷方式(Spider工具类)
DemoApi ext = Spider.getExtension(DemoApi.class, "ext1");

二、系统扩展点

(一)框架层

扩展点实现位置SPI接口
Spring类型转换器*否SpringTypeConverterRegister
#register
SPI加载器工厂*是ServiceLoaderFactory
SPI路径设置*是SpiClassPathApi

(二)元数据扫描

扩展点实现位置SPI接口
元数据注解转换器*否ModelConverter
元数据模型签名器*否ModelSigner
元数据注解转换器白名单yaml:pamirs.configure.converter.annotation否ModelConverter接口实现类名
元数据模型签名器白名单yaml:pamirs.configure.signer否ModelSigner接口实现类名
注解转化器处理的元模型的扫描路径配置yaml:pamirs.meta.meta-packages否默认:
pro.shushi.pamirs.meta.domain
pro.shushi.pamirs.boot.base.model

(三)元数据计算

扩展点实现位置SPI接口
模型编码接口*是ModelModelApi
模型运算接口*是ModelComputeApi
模型校验接口*是ModelCheckApi
模型指令接口*是ModelDirectiveBatchApi
ORM转换接口*是OrmApi
类型系统接口*是TypeProcessor
继承处理扩展逻辑*是InheritedExtendProcessor
模型计算扩展逻辑*是ModelExtendComputer
字段计算扩展逻辑*是FieldExtendComputer
元数据计算扩展逻辑*是MetaDataExtendComputer

(四)API层

扩展点实现位置SPI接口
请求上下文扩展点*是SessionPrepareApi
拦截器构建扩展点*是InstrumentationApi
动作绑定扩展点*是ActionBinderApi
数据加载器注册扩展点*是DataLoaderRegistryApi

(五)FaaS层

扩展点实现位置SPI接口
组装表达式上下文*是SessionContextApi
商业函数扩展点*是BusinessFunctionsApi
上下文函数扩展点*是ContextFunctionsApi
表达式可执行函数黑白名单*是FaasScriptAllowListApi

(六)ORM层

扩展点实现位置SPI接口
前端字段处理扩展逻辑*是FrontEndFieldExtendConverter
前端字段计算*否FieldValueComputer
后端字段处理扩展逻辑*是BackEndFieldExtendConverter
字段序列化api*否Serializer

(七)持久层

扩展点实现位置SPI接口
数据源路由pamirs-boot-*
yaml:pamirs.mapper.data-source-route-service
是DataSourceRouteService#route
数据框架的统一key前缀服务*是DataApiKeyService
动态数据源路由自定义参数pamirs-boot-*
yaml:pamirs.mapper.dynamic-ds-key-computer
是DynamicDsKeyComputer
数据表名计算自定义参数pamirs-boot-*
yaml:pamirs.mapper.table-name-computer
是TableNameComputer#context
获取逻辑字段定义pamirs-connectors-data-*
**yaml:pamirs.mapper.**logic-column-fetcher
是LogicColumnFetcher
#fetchLogicColumnDefinitions
获取逻辑字段pamirs-connectors-data-*
**yaml:pamirs.mapper.**logic-column-fetcher
是LogicColumnFetcher
#fetchLogicColumns
通用mapper*否PamirsMapper
编辑此页
最近更新:2026/1/15 04:02
上一页
集成接口 API(EIP API)
下一页
平台错误码(Error Codes)
默认页脚
Copyright © 2026 Mr.Hope