1. 项目导入前,先把黑马点评当“产品”而不是“代码库”看
我在带过好几个新手跑这个项目之后发现一个普遍问题:很多人拿到黑马点评源码后的第一反应,是解压、打开IDEA、直接点运行,结果看到一个又一个红色报错就开始慌了。其实黑马点评不是一个“打开就能跑”的玩具工程,它是一个由前端页面、后端接口、MySQL数据库、Redis缓存组合而成的完整系统。你只有先搞清楚每个组件在项目里扮演什么角色,导入时才不会瞎猜。
从Java基础学完到真正上手实战项目,中间最大的坎不是语法,而是“环境协作”。黑马点评这个项目正好把这个坎完整暴露给你:它用Maven管理依赖,用SpringBoot提供接口,用MyBatis-Plus操作MySQL里的用户、商铺、优惠券等数据,用Redis处理验证码、缓存、分布式锁。项目导入这件事,本质上是把你本机的Java环境、数据库环境、缓存环境跟项目里的配置对齐。
很多人在这一步被劝退,不是因为智商问题,而是因为不知道项目启动到底需要哪些“外部条件”。我自己第一次导入时也犯过蠢:先运行了后端,结果控制台一直报连不上数据库;好不容易把MySQL启动了,又发现Redis没装;搞定了Redis,前端页面又打不开。每个环节单独看都不难,但串在一起就会让人手忙脚乱。
你手里这份黑马点评源码,通常是后端工程为主,前端页面有的版本放在resources/static目录下,有的版本是独立的Vue工程。如果你的版本是前者,那SpringBoot启动后浏览器访问localhost:8080就能看到页面;如果是后者,你得先把前端工程单独跑起来,用Vite或Webpack把页面代理到后端接口。这一步一定要在导入前确认清楚,因为它决定了你后面排查问题的方向。
我整理了一份导入前检查清单,你可以照着过一遍:
- JDK版本:项目基于Java 8还是Java 17写的,必须在pom.xml或README里确认,IDEA里配置的Project SDK要和它一致。
- Maven版本:IDEA自带的Maven可能版本过新或过旧,建议用3.6以上版本,并配置国内镜像,不然依赖能下载半小时。
- MySQL版本:5.7或8.0都可以,但要注意数据库连接串里的时区参数,
serverTimezone=Asia/Shanghai不能省略。 - Redis版本:Windows版可以用5.x,Linux或Docker环境用6.x都没问题,关键是确认Redis服务真的在运行。
- Node环境:只有当前端是独立工程时才需要,
node -v能看到版本号就行。
黑马点评这类教学项目的价值就在于,它逼着你把这些工程化常识提前过一遍。你在学校或自学时可能只写单文件代码,根本不需要考虑“Redis没启动”这种事,但只要开始做真实项目,这些全是基本功。
1.1 解读项目的核心业务流程:先跑通一个完整闭环
导入前,我还建议你先花十几分钟把源码里的核心业务模块过一眼。黑马点评表面上是一个类似大众点评的商户搜索项目,核心业务是查看商铺、点赞、关注、发笔记、抢优惠券,而“短信登录”是所有业务的前置条件——你连登录都没搞定,后面所有功能都试不了。
看源码时不要一个文件一个文件读,先看controller层的路由映射。你会发现在比较早期的课程版本里,用户相关的接口有这几个重点:
POST /user/code:接收手机号,生成验证码并发送。POST /user/login:接收手机号和验证码,校验成功后返回登录凭证。GET /user/me:获取当前登录用户信息,用来验证登录态是否生效。
这三个接口就构成了短信登录的最小闭环。你把项目导入并跑通之后,至少应该能在页面上看到验证码发送成功的提示,登录后右上角出现用户头像。这个过程不需要你去改任何业务代码,但它能证明你的环境没问题,后面调功能时才有底气。
1.2 导入工程时的格式选择:别在第一步选错打开方式
IDEA导入项目有很多入口,有人用Open直接选文件夹,有人用Open选pom.xml,有人用New -> Project from Existing Sources。对于黑马点评这种Maven工程,最省事的方式是直接选择项目根目录里的pom.xml文件打开,IDEA会把它识别为Maven Project并自动开始下载依赖。
如果你选了整个文件夹,IDEA有时会把它当成普通Java工程,不触发Maven的依赖解析,这时候你的类里全是Cannot resolve symbol 'SpringBootApplication'之类的红线。遇到这种情况不要急着重装IDEA,右键点击pom.xml,选择Add as Maven Project,IDEA就会开始引入Maven结构和所有依赖。
导入完成后第一件事,不是运行,而是确认Maven的依赖真的下载完了。看IDEA右侧的Maven窗口,如果Dependencies列表里还有红线的包,说明没下载成功。换镜像源或者删掉本地仓库里损坏的.lastUpdated文件再重新下载,都是常用手段。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 导入整个项目时,最容易卡住你的4个环节
2.1 MySQL数据初始化:不是把所有sql文件都执行一遍就行
黑马点评的SQL文件通常在sql目录下,我记得的版本里有一个类似hmdp.sql的脚本,里面把表结构和一些基础数据都打包好了。你只需要在MySQL里手动创建一个数据库,再把整个sql文件导入这个空数据库即可。
