前言在 Java 后端开发中命名就是代码的门面也是团队协作的统一语言。很多项目前期功能跑得通、逻辑没问题但迭代半年后彻底乱掉包结构乱飞、类名随心所欲、方法名中英文混用、数据库字段大小写混乱、接口URL命名不统一。最终导致新人看不懂、改代码不敢动、重构成本极高、Bug 排查效率极低。市面上很多规范只讲零散规则不成体系。本文给大家整理一套从零搭建、全覆盖、可直接落地、适配 SpringBoot / SpringCloud的 Java 后端全套命名规范涵盖工程模块、包结构、类、方法、变量、常量、枚举、文件、配置、数据库、接口 URL企业级通用可直接作为团队开发标准。一、全局通用命名总则强制所有场景遵守1.1 四大命名格式Java 开发唯一标准大驼峰 UpperCamelCase类、接口、枚举、注解小驼峰 lowerCamelCase方法、普通变量、参数大写下划线 UPPER_SNAKE_CASE常量、枚举值小写短横线 kebab-case项目名、模块名、文件名、接口地址1.2 六条红线禁令团队零容忍禁止拼音命名、禁止中英混搭userInfo可以userXinxi绝对不行禁止无意义命名a、b、temp、data1、list2禁止中文、空格、特殊符号禁止大小写混用项目名Linux 严格区分大小写禁止关键字命名class、public、static禁止过度缩写看不懂的缩写一律不允许1.3 核心原则见名知意、统一优先、可读性大于精简性命名优先让所有人看懂不耍小聪明、不搞个人风格。二、工程 模块命名规范单体/微服务通用2.1 根项目命名规则全小写、短横线分隔、业务优先✅ 正确mall-system商城系统user-center用户中心order-service订单服务❌ 错误MallSystem、mall_system、商城项目2.2 多模块项目子模块命名企业标准统一模块拆分所有项目统一结构xxx-common公共模块工具类、全局异常、常量、拦截器xxx-api对外暴露模块DTO、VO、枚举、Feign 接口xxx-service业务核心模块业务实现、数据库交互xxx-admin后台管理模块xxx-gateway网关模块xxx-job定时任务模块三、Java 包结构命名规范标准分层3.1 包名总则全部小写、连续分层、无大写、无下划线基础包统一com.公司名.业务名3.2 标准五层业务包必用com.xxx.business controller 控制层、接收请求 service 业务层接口 service.impl 业务实现层 mapper 数据库持久层 entity 数据库实体3.3 扩展通用包config 配置类 utils 工具类 exception 全局异常 annotation 自定义注解 interceptor 拦截器 validator 校验器 dto 入参出参 vo 视图返回对象 enum 枚举四、类命名规范4.1 控制层 Controller规则业务名 Controller✅UserController、OrderController4.2 业务层 Service接口UserService实现类UserServiceImpl4.3 数据层 Mapper/DAO✅UserMapper4.4 实体类 Entity与数据库表一一对应✅User、OrderGoods4.5 DTO / VODTO接收前端参数、跨服务传输✅UserLoginDTOVO返回前端展示数据✅UserInfoVO4.6 工具类后缀统一Utils✅DateUtils、PasswordUtils4.7 异常类后缀统一Exception✅BusinessException五、方法命名规范最核心、最影响可读性5.1 通用规则小驼峰、动词开头动词语义统一查询get、list、page、count新增add、save、create修改update、modify删除delete、remove校验check、verify导入导出importData、exportData5.2 标准示例✅getUserById()根据ID查单个listUserPage()分页查询用户addUser()新增用户updateUserStatus()修改用户状态deleteUserById()删除用户❌ 禁止useradd()、addNewUserInfo()冗余啰嗦六、变量 参数命名规范6.1 普通变量小驼峰、语义清晰✅username、userList、orderTotalPrice6.2 集合变量统一后缀List →xxxListMap →xxxMapSet →xxxSet✅userList、orderMap6.3 布尔变量必须使用 is / has / can 开头✅isEnable、hasPermission、canEdit❌ 禁止enable、status模糊语义七、常量命名规范全部大写 下划线分隔7.1 普通常量publicstaticfinalStringUSER_STATUS_NORMALNORMAL;publicstaticfinalintPAGE_SIZE10;7.2 业务常量分组统一语义前缀用户相关USER_XXX订单相关ORDER_XXX八、枚举命名规范枚举类名业务 Enum✅OrderStatusEnum枚举值全大写下划线✅SUCCESS、FAIL、CANCEL九、配置文件命名规范全部小写下划线application.ymlapplication-dev.ymlapplication-prod.yml禁止applicationDev.yml / 开发配置.yml十、数据库命名规范10.1 数据库名全小写、下划线分隔✅mall_user_db10.2 数据表名业务模块_表含义✅sys_user、order_info、user_address10.3 字段名全小写、下划线、见名知意✅user_name、create_time、update_time10.4 通用统一字段所有表标配id主键create_time创建时间update_time更新时间delete_flag删除标记十一、接口 URL 命名规范RESTful 标准统一使用小写 短横线资源为名词、请求方式代表动作通用规范GET 查询POST 新增PUT 修改DELETE 删除示例GET /api/user/list用户列表POST /api/user/add新增用户PUT /api/user/update修改用户DELETE /api/user/delete删除用户十二、日志、文件夹命名日志文件xxx.log、info.log、error.log资源文件夹全小写、下划线分隔十三、全套规范总结可直接落地工程模块kebab-case 小写短横线包名全小写分层类大驼峰方法/变量小驼峰、动词开头、语义统一常量/枚举值大写下划线数据库全小写下划线接口URL小写短横线 RESTful 风格结语命名规范不是形式主义是团队代码统一的最低标准。一套统一的命名规范可以让新人 1 天熟悉项目结构团队代码风格完全统一后期维护、重构、迭代成本大幅降低建议所有 Java 后端团队直接套用本文规范统一团队编码标准。