
采用Spring Boot + Mybatis + Maven技术栈的微服务项目,需通过目录结构而非Module实现分层。目录规范是工程化基础,直接影响开发效率、标准化交付及DevOps流程衔接。
order、payment),类名以Controller结尾。适配业务多样性,避免按技术维度拆分。
Service命名,实现类加Impl后缀(如OrderServiceImpl)。
db.order、db.payment),类名以Mapper结尾。MyBatis的XML文件置于resources/mapper对应子路径。
po.db.{dbname}.generator,手动扩展类置于po.db.{dbname}.custom。Mapper接口与XML文件同理隔离。
dto.request(入参)、dto.response(出参)、vo(视图对象)。避免与PO混用。
config包下按类型细分:enums(枚举)、properties(配置项)、kafka(消息队列配置)。常量类Constants归入此包。
util包收纳所有工具类,命名以Util结尾(如DateUtil)。避免分散到业务包中。
src/main/java
└── com.example
├── config
│ ├── enums
│ ├── kafka
│ └── RedisConfig.java
├── controller
│ ├── order
│ │ └── OrderController.java
│ └── payment
├── service
│ ├── impl
│ └── OrderService.java
├── dao
│ ├── db
│ │ ├── order
│ │ └── payment
├── po
│ ├── db
│ │ ├── order
│ │ │ ├── custom
│ │ │ └── generator
├── dto
│ ├── request
│ └── response
└── util
└── JsonUtil.java
resources
└── mapper
├── order
└── payment此结构支持快速定位代码,适应业务扩展,同时满足微服务“小而自治”的要求。实际应用中可根据团队习惯调整子包深度,但需保持核心分层逻辑一致。