目录标准分层总览各层详细说明标准包结构模板各层核心注解速查数据对象(VO/DTO/BO/DO/PO)规范单体 vs 微服务的分层差异分层原则与常见错误对标本项目(bm-search)1. 标准分层总览┌──────────────────────────────────────────────────────────────┐ │ 客户端 / 调用方 │ │ 浏览器 / App / 其他微服务(Feign) │ └─────────────────────────┬────────────────────────────────────┘ │ HTTP Request ┌─────────────────────────▼────────────────────────────────────┐ │ 接入层 Interface Layer │ │ │ │ Filter(过滤器) → Controller(HTTP接口) │ │ Feign Impl(内部接口) │ │ Interceptor(拦截器) │ └─────────────────────────┬────────────────────────────────────┘ │ VO ┌─────────────────────────▼────────────────────────────────────┐ │ 业务层 Service Layer │ │ │ │ Service Interface + ServiceImpl │ │ (业务逻辑编排、事务控制、权限校验) │ └──────────┬──────────────────────────────┬────────────────────┘ │BO/DO │DTO(调用外部) ┌──────────▼──────────┐ ┌────────────▼───────────────────┐ │ 数据访问层 │ │ 外部依赖层 │ │ Repository Layer │ │ Integration Layer │ │ │ │ │ │ Mapper(MyBatis) │ │ RPC / Feign Client(其他服务) │ │ Repository(JPA) │ │ MQ(Kafka/RocketMQ 发送) │ │ ES Repository │ │ Cache(Redis) │ │ Redis(缓存读写) │ │ 第三方 HTTP API │ └──────────┬──────────┘ └────────────────────────────────┘ │ ┌──────────▼──────────────────────────────────────────────────┐ │ 基础设施层 Infrastructure Layer │ │ │ │ config/(Bean配置) util/(工具类) enums/(枚举) │ │ exception/(异常) constant/(常量) model/(实体) │ └─────────────────────────────────────────────────────────────┘2. 各层详细说明2.1 接入层(Interface Layer)职责:接收请求、参数校验、调用 Service、返回响应。不允许:写任何业务逻辑、直接操作数据库、调用其他微服务。@RestController@RequestMapping("/v1/user")publicclassUserController{@AutowiredprivateUserServiceuserService;@PostMapping("/search")publicResultPageVOUserVOsearch(@RequestBody@ValidatedSearchUserReqVOreqVO