前言很多刚学 SpringBoot 的同学第一步就翻车项目代码没报错一启动直接爆红控制台一堆异常。网上教程五花八门报错信息看不懂排查半天找不到问题非常打击自信心。我整理了新手开发 SpringBoot 90%都会遇到的启动失败问题汇总5个最高频报错场景原因解决方案一次性讲清楚新手直接收藏避坑一、端口占用问题最最最常见报错现象Web server failed to start. Port 8080 was already in use原因8080 端口被其他程序、浏览器、或者上一次没关闭的项目占用导致 SpringBoot 无法绑定端口启动。解决方案两种1、修改项目端口最简单在application.yml或application.properties修改端口server: port: 80812、关闭占用端口的进程通过命令杀掉8080端口进程重启项目即可。二、启动类位置不对无法扫描Bean报错现象项目启动成功但是接口404、无法注入Bean、报找不到类异常原因SpringBoot 启动类默认扫描当前包以及子包。很多新手把启动类放在外层目录Controller、Service、Mapper 放在不同层级导致包扫描不到。标准目录结构必须遵守com.xxx.project启动类在此目录—— controller—— service—— mapper—— entity解决将启动类放在最外层根包保证所有业务类都在子包内。三、缺少 MapperScan 注解Mapper无法注入报错现象Field xxxMapper in xxx required a bean of type xxxMapper that could not be found原因使用 Mybatis/Mybatis-Plus 时没有告诉项目 Mapper 文件位置导致无法生成代理对象无法注入。解决方案在启动类上添加扫描注解MapperScan(com.xxx.project.mapper)四、数据库配置错误连接失败报错现象数据库连接超时、Access denied、Unknown database常见错误点数据库用户名、密码填写错误数据库名称写错、本地没有创建对应数据库MySQL服务未启动时区配置缺失导致启动报错标准正确配置spring: datasource: url: jdbc:mysql://localhost:3306/testdb?useSSLfalseserverTimezoneAsia/Shanghai username: root password: 123456 driver-class-name: com.mysql.cj.jdbc.Driver五、依赖冲突 / 依赖缺失报错现象类找不到、方法不存在、版本冲突、启动直接闪退原因1、手动引入依赖版本不匹配2、复制别人pom文件依赖不全/版本混乱3、未刷新Maven依赖未下载成功解决方案刷新 Maven重新下载依赖统一 SpringBoot 版本不要随意混用高低版本依赖缺失什么依赖就补充对应 starter✅ 总结SpringBoot 启动失败99%不是代码Bug而是配置和环境问题。新手遇到启动报错优先排查端口占用 包扫描位置 数据库配置 注解缺失 依赖问题。掌握以上5个高频坑基本可以解决新手99%的启动异常非常适合入门学习 持续分享 SpringBoot 实战教程、开发踩坑、后端入门干货点赞 收藏 关注零基础学后端少走弯路