开发文档 / Ineed Core

选择一致的运行时组合

了解 WebMVC 与 WebFlux 的装配边界,为业务模块选择同步或响应式的完整实现链路。

Core 当前默认技术组合

继续深入:阅读 Ineed Core 完整手册 ↗

本页目录

先选路线,再写实现

同一个业务概念可能有多个运行时实现,但一个启动工程应装配一条职责明确的调用链。下表中的每行是一个完整组合。

接口层 业务实现 持久化实现 开发方式
WebMVC engine JPA 同步
WebMVC engine JDBC 同步
WebMVC engine MyBatis-Flex 同步
WebFlux engine-reactive R2DBC 响应式

这些是工程组织方式,不是所有业务模块在所有组合下都已通过完整回归的承诺。实施时要核对目标业务模块实际提供的子模块与测试结果。

同步路线

Controller 接收请求,Service 编排用例并定义事务边界,Manager 处理业务对象规则,通过 Repository 调用选定的数据实现。

选择 JPA、JDBC 或 MyBatis-Flex 时,优先沿用目标业务模块现有实现。不要为了增加一个字段就引入第二套不必要的数据访问技术。

响应式路线

WebFlux 对接 reactive engine 与 R2DBC,实现需保持响应式返回类型与上下文传递的一致性。不要在响应式调用链中随意调用阻塞 JDBC 或通过 block() 掩盖类型差异。

事务、错误处理与上下文应参照响应式工程的既有模式,不能机械复制同步实现。

装配时要检查什么

  1. 启动工程选中了正确的 web、engine 和数据实现模块。
  2. 对同一个业务契约,没有意外装配多个互相竞争的实现。
  3. 配置、数据库和上下文与所选路线一致。
  4. 验证覆盖真实持久化行为,而不仅是内存测试替身。

需要单独核验的能力

动态数据源实际路由、特定搜索引擎适配以及其他可选基础设施,应检查当前实现与启用方式。不能因为工程中有接口或目录,就认定应用已经具备可用的动态路由或完整集成。

默认 reactor 不包含的组件需要明确引入和验证。首个用例建议保持最小装配范围,成功后再增加外部依赖。