4.1.1 传统三层架构局限 在开始之前,请允许我问一个问题:当你第一次在 Spring Boot 项目里写下 、 和 这三个注解时,你是否真的思考过——它们之间那层看似“泾渭分明”的边界,究竟有多厚?又或者,它更像一张被反复揉搓后几乎透明的纸,轻轻一捅就破? 这不是一个修辞式的设问。这是我在过去五年中,亲手重构过 17 个遗留单体系统后,反复被刺痛的真实经验。那些标注着“分层清晰”的代码库,往往在第 3 次迭代时就暴露出致命裂痕:订单服务里悄悄调用了用户积分 DAO;支付回调接口直接拼接 SQL 查询会员等级;报表导出 Controller 里嵌套了三层 for 循环做数据聚合……我们用注解画出了三道线,却忘了——分层不是靠 @ 符号定义的,而是靠契约、约束与不可逾越的语义鸿沟来捍卫的。