需求与领域驱动设计
定义用户故事、验收样例、实体、值对象、聚合与限界上下文,记录服务为什么拥有相应数据。
从领域需求走向 Spring Boot 服务、事件、RAG 智能体与测试策略,通过物流案例检查校验机制与人工审核边界。
定义用户故事、验收样例、实体、值对象、聚合与限界上下文,记录服务为什么拥有相应数据。
构建 REST Controller、应用服务、领域规则与持久化适配器,练习 Spring Web、Spring Data JPA 和本机 H2,并讨论共享部署中的 PostgreSQL。
通过 Kafka 发布有版本的领域事件,处理重复消息、最终一致性与事件时间,构建滚动计数或异常率视图。
连接检索器、规划器与独立校验器,比较直接 LLM 调用、受限工具与 Java 中的 LangChain4j 集成。
先选择基于规格的用例与结构检查,再加入 API 契约、集成、回归与安全场景,为每项测试定义预期依据。
保留运行说明、执行轨迹、决策、模型假设与恢复记录,说明哪些 AI 建议被接受、修改或拒绝。
建议先掌握 Java 或 Python、JSON 与基础 HTTP。Spring Boot 分支使用 Java;Python 可用于分析、智能体实验与评估。一对一在线课程可围绕任一分支展开。
建议项目包含需求导入、产品目录、规划与审核四个上下文,各自拥有数据,并暴露明确的 API 或事件契约。协调器可检索规则、提出方案,再调用规划服务校验;正式使用需要获授权人员批准。
可练习 Java 21、Spring Boot、JPA、Kafka/Spring Cloud Stream 与 LangChain4j。先完成一条纵向流程,再扩展为四个服务。这个公开页面不运行 Java 后端或 Kafka Broker。
// Illustrative controller: application service owns validation.
@RestController
@RequestMapping("/plans")
class PlanController {
private final PlanningService planning;
PlanController(PlanningService planning) { this.planning = planning; }
@PostMapping("/proposals")
PlanProposal propose(@RequestBody PlanRequest request) {
return planning.proposeAndValidate(request);
}
}
// A proposal is not an approval or a dispatch instruction.划分有效与无效输入;围绕载重限制测试略低、恰好达到和超出边界,并用决策表检查规则组合。
复核分支、数据流与不可达路径,结合静态工具和代码评审。分支覆盖率描述执行结构,本身不等同于正确性。
用 JUnit/AssertJ 测试无需模型的领域不变量,用 MockMvc 检查 HTTP 边界,再核对 REST/事件结构、必填字段、版本兼容与工具参数。
使用 Spring Boot 集成测试和隔离数据库、消息实例,例如借助 Testcontainers。检查持久化、消息传递、幂等、超时,以及从请求到复核的完整流程。
测试未授权工具、提示注入与证据缺失,再用带标注样例分别评估检索相关性、来源支持与回答质量。
把已知故障保留为回归用例,跟踪风险、需求、测试负责人和发布决策。模型检查可进一步分析状态机性质。
不能。模拟边界可以验证路由与校验;实际模型质量、延迟、检索质量与成本仍需独立测量。
# Acceptance cases for the domain validator
assert validate(weight=60, capacity=60) == "review"
assert validate(weight=61, capacity=60) == "blocked"
# Also test: missing evidence, duplicate events and forbidden tools.
# A valid proposal still requires a human approval step.这些是工作室自行编写的软件工程与测试学习材料,不是大学官方课程,也不复现学生作业。不发布学生报告、身份、成绩或源码仓库。