SpringBoot+SSM实战:苍穹外卖项目环境搭建指南

发布时间:2026/9/16 9:58:04
SpringBoot+SSM实战:苍穹外卖项目环境搭建指南 1. 苍穹外卖项目环境搭建概述作为Java开发者接触企业级项目的第一步环境配置往往决定了后续开发的顺畅程度。苍穹外卖作为黑马程序员推出的SpringBootSSM实战项目其环境搭建涉及前后端分离架构下的多项技术栈配置。与常见的教学项目不同这套环境需要同时支持管理后台Vue.js和小程序端的联调开发这对本地开发环境的完整性提出了更高要求。我在首次配置这个项目环境时曾因忽略了Nginx的路径配置导致前端资源加载失败也遇到过MySQL版本差异引发的字符集问题。本文将结合这些实际踩坑经验详细介绍从零开始搭建苍穹外卖开发环境的完整流程特别针对Windows系统下的特殊配置项进行说明。2. 基础开发环境准备2.1 JDK与Maven配置推荐使用JDK 1.8官方兼容性最佳配合Maven 3.6# 验证安装 java -version mvn -v在Maven的settings.xml中建议配置阿里云镜像mirror idaliyunmaven/id mirrorOf*/mirrorOf name阿里云公共仓库/name urlhttps://maven.aliyun.com/repository/public/url /mirror注意苍穹外卖的pom.xml中已指定SpringBoot 2.7.x版本不要随意升级主版本号否则可能引发依赖冲突。2.2 MySQL数据库部署项目要求MySQL 5.7三个关键配置项需要注意字符集设置为utf8mb4关闭ONLY_FULL_GROUP_BY模式时区设置为Asia/Shanghai初始化数据库时直接执行提供的sky.sql脚本mysql source /path/to/sky.sql我曾遇到Navicat导入SQL文件时报错原因是默认字符集不匹配。解决方案是在连接配置中显式指定字符集连接名sky_takeout 主机localhost 端口3306 字符集utf8mb4 排序规则utf8mb4_general_ci2.3 Redis安装与配置Redis 5.0即可满足需求Windows用户可以使用官方推荐的WSL2方式安装或使用微软维护的Redis-Windows版本关键配置项# redis.windows.conf maxmemory 256mb appendonly yes requirepass 123456 # 与application-dev.yml中的配置保持一致3. 前端环境配置3.1 Nginx服务部署项目前端资源已打包在nginx-1.20.2目录中需要特别注意将整个nginx目录放在非中文路径下修改conf/nginx.conf中的关键配置server { listen 80; server_name localhost; # 管理端静态资源 location / { root html/sky-admin; index index.html; } # 反向代理配置 location /api/ { proxy_pass http://localhost:8080/admin/; proxy_set_header Host $host; } }常见问题排查端口冲突使用netstat -ano|findstr 80检查端口占用跨域问题确保proxy_pass地址与后端服务一致静态资源404检查root路径是否正确指向打包后的dist目录3.2 小程序开发环境微信开发者工具需要配置导入mp-weixin目录作为小程序项目在详情中勾选不校验合法域名开发阶段修改app.js中的基础API地址const baseUrl http://localhost/api4. 后端工程配置4.1 IDEA项目导入使用IntelliJ IDEA导入项目时注意选择sky-take-out目录下的pom.xml作为根项目等待Maven自动下载依赖首次可能较久配置JDK 1.8和正确的Maven路径项目结构说明sky-take-out ├── sky-common # 公共模块 ├── sky-pojo # 实体类 └── sky-server # 主服务模块4.2 配置文件调整修改sky-server中的application-dev.ymlspring: datasource: url: jdbc:mysql://localhost:3306/sky_take_out?useSSLfalseserverTimezoneAsia/Shanghai username: root password: 123456 redis: host: localhost port: 6379 password: 123456 database: 0 jwt: admin-secret-key: sky-take-out-2023 # 生产环境需要修改4.3 启动项配置在SkyApplication启动类中添加MapperScan注解指定Mapper接口路径配置Tomcat端口为8080与Nginx代理匹配建议开启热部署SpringBootApplication MapperScan(com.sky.mapper) public class SkyApplication { public static void main(String[] args) { SpringApplication.run(SkyApplication.class, args); } }5. 联调测试与常见问题5.1 登录功能测试访问http://localhost后使用默认账号登录用户名admin密码123456后端登录流程前端请求 → Nginx → 后端ControllerJWT令牌生成与验证密码MD5加密比对注意数据库密码需要预先加密5.2 接口文档集成Knife4j文档访问地址http://localhost:8080/doc.html配置要点Bean public Docket docket() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(new ApiInfoBuilder() .title(苍穹外卖API文档) .version(1.0) .build()) .select() .apis(RequestHandlerSelectors.basePackage(com.sky.controller)) .paths(PathSelectors.any()) .build(); }5.3 典型问题解决方案Nginx代理失败检查proxy_pass末尾是否带/决定URL重写方式查看error.log中的具体错误信息数据库连接异常确认时区参数?serverTimezoneAsia/Shanghai检查MySQL用户权限Redis连接超时关闭防火墙或添加端口例外确认requirepass与配置一致前端资源加载不全浏览器强制刷新CtrlF5检查Nginx的root路径大小写经过以上步骤你应该已经完成了苍穹外卖项目的完整环境搭建。建议在启动所有服务后按照Nginx → MySQL → Redis → 后端服务 → 前端页面的顺序进行依赖检查。这套环境配置方案已在Windows 10/11和macOS Ventura上验证通过如遇特殊环境问题可以尝试调整组件版本号或查看项目的GitHub Issues区获取解决方案。