

IDEA作为主流Java开发工具,其版本对SpringBoot插件兼容性影响较大,具体要求如下表所示:
IDEA版本类型 | 支持版本范围 | 注意事项 | 卸载与重装建议 |
|---|---|---|---|
社区版(Community) | 2021.1 - 2022.1.4 | 必须在此区间,否则无法正常安装SpringBoot Helper插件 | 卸载时需删除注册表,避免残留文件影响新安装版本,参考IDEA彻底卸载教程 |
专业版(Ultimate) | 无明确限制 | 已内置Spring Initializr功能,无需额外安装插件 | 直接通过官方卸载程序移除,重启电脑后重新安装即可 |

说明:确认版本是否在支持范围内,是后续插件安装与项目创建的基础
SpringBoot 2.X与3.X对JDK版本要求不同,需提前配置对应环境:
JDK安装路径确认:右键「此电脑」→「属性」→「高级系统设置」→「环境变量」,查看JAVA_HOME是否指向正确JDK目录(如JDK 17路径为D:\Program Files\Java\jdk-17.0.9)
版本验证:打开CMD命令行,输入java -version,若输出如下内容则配置成功:
java version "17.0.9" 2023-10-17 LTS
Java(TM) SE Runtime Environment (build 17.0.9+9-LTS-219)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.9+9-LTS-219, mixed mode, sharing)IDEA中JDK配置:打开IDEA→「File」→「Project Structure」→「SDKs」,添加对应版本JDK,确保项目编译环境与JDK版本匹配
pom.xml文件(配置清单)自动完成jar包下载、版本管理与项目编译打包,替代传统手动复制jar包的繁琐操作,避免“jar包缺失”“版本冲突”等问题Maven的核心价值体现在两大功能上,具体说明与实战示例如下:
Maven定义了一套标准的项目生命周期,包含清洁、编译、测试、打包、安装等阶段,开发者可通过IDEA界面或命令行快速执行:
生命周期阶段 | 对应命令 | 功能描述 | 实战操作(IDEA) |
|---|---|---|---|
清洁(Clean) | mvn clean | 删除项目编译生成的target目录,清除历史构建结果 | 点击右侧「Maven」→「Lifecycle」→「clean」,双击执行 |
编译(Compile) | mvn compile | 将src/main/java下的Java源代码编译为class文件,输出到target/classes | 双击「compile」,执行成功后可在target目录看到编译结果 |
测试(Test) | mvn test | 执行src/test/java下的测试用例,生成测试报告 | 双击「test」,控制台会显示测试用例执行结果(成功/失败) |
打包(Package) | mvn package | 将项目打包为jar包(普通Java项目)或war包(Web项目),输出到target目录 | 双击「package」,打包成功后在target下生成xxx-0.0.1-SNAPSHOT.jar |
安装(Install) | mvn install | 将打包后的jar/war包安装到本地仓库,供其他项目依赖引用 | 双击「install」,安装成功后可在本地仓库找到对应jar包 |

Maven通过“坐标”(groupId、artifactId、version)唯一标识一个jar包,在pom.xml中配置依赖后,会自动下载并管理相关jar包,同时支持依赖传递:
依赖坐标结构:
<!-- 示例:MySQL JDBC驱动依赖 -->
<dependencies>
<dependency>
<groupId>mysql</groupId> <!-- 组织ID:标识jar包的开发组织(如mysql公司) -->
<artifactId>mysql-connector-java</artifactId> <!-- 项目ID:标识具体的项目(如MySQL驱动) -->
<version>8.0.30</version> <!-- 版本号:指定jar包版本,避免版本冲突 -->
</dependency>
</dependencies>依赖传递原理:当项目A依赖jar包B,而jar包B依赖jar包C时,Maven会自动下载B和C,无需手动配置C的依赖。例如:
spring-boot-starter-web)
Maven的仓库用于存储jar包、插件等资源,分为三大类,其优先级与工作流程如下:
仓库类型 | 存储位置 | 特点 | 作用 |
|---|---|---|---|
本地仓库(Local Repository) | 本地计算机目录(默认:C:\Users\用户名\.m2\repository,可自定义) | 私有的、仅本地项目可访问 | 缓存已下载的jar包,避免重复下载,提高依赖获取速度 |
中央仓库(Central Repository) | Maven官方维护的远程仓库(地址:https://repo1.maven.org/maven2/) | 公开的、全球唯一 | 存储全球大部分开源项目的jar包,当本地仓库无对应资源时自动从中央仓库下载 |
私服(Private Repository) | 公司/团队内部搭建的远程仓库(如Nexus) | 私有性、需权限访问 | 存储公司内部开发的jar包,共享内部资源,同时缓存中央仓库资源,提高团队开发效率 |
当Maven需要获取某个jar包时,会按照以下顺序查找:
由于中央仓库位于国外,国内访问速度较慢,需配置阿里云国内源,步骤如下:
找到Maven配置文件(settings.xml):
D:\Maven\.m2\settings.xmlsettings.xml文件,可从Maven安装目录的conf文件夹复制(如D:\apache-maven-3.8.1\conf\settings.xml)到上述路径添加阿里云镜像配置:
在settings.xml的<mirrors>标签内添加如下内容:
<mirrors>
<!-- 阿里云Maven镜像 -->
<mirror>
<id>aliyunmaven</id>
<mirrorOf>central</mirrorOf> <!-- 镜像中央仓库 -->
<name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/public</url> <!-- 阿里云仓库地址 -->
</mirror>
<!-- 若需其他仓库(如Spring仓库),可继续添加 -->
<mirror>
<id>aliyunmaven-spring</id>
<mirrorOf>spring</mirrorOf>
<name>阿里云Spring仓库</name>
<url>https://maven.aliyun.com/repository/spring</url>
</mirror>
</mirrors>
随着项目依赖增多,可能出现“同一jar包不同版本”的冲突问题,需借助Maven Help插件排查与解决:
安装Maven Help插件:
查看依赖树与冲突:
pom.xml文件解决冲突:排除依赖:
若发现spring-core依赖存在2.0.0和3.0.0两个版本,需排除低版本,配置如下:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!-- 排除低版本的spring-core依赖 -->
<exclusions>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
</exclusion>
</exclusions>
</dependency>安装好Maven Help插件后,点击Dependency Analyzer

在学习SpringBoot之前, 我们先来认识一下Spring 我们看下Spring官方的介绍

可以看到, Spring让Java程序更加快速, 简单和安全. Spring对于速度、简单性和生产力的关注使其成为世界上最流行的Java框架。Spring官方提供了很多开源的项目, 覆盖范围从Web开发到大数据, Spring发展到了今天, 已经形成了自己的生态圈. 我们在开发时, 也倾向于使用Spring官方提供的技术, 来解决对应的问题。

SpringBoot是Spring框架的“脚手架”,基于“约定大于配置”的设计思想,旨在简化Spring应用的开发流程,其核心优势如下:
核心优势 | 具体说明 | 对比传统Spring |
|---|---|---|
简化配置 | 无需编写大量XML配置文件,通过注解与默认配置快速搭建项目 | 传统Spring需配置applicationContext.xml、dispatcher-servlet.xml等,配置繁琐 |
内置Web服务器 | 集成Tomcat、Jetty等Web服务器,无需手动部署WAR包 | 传统Spring需将WAR包部署到外部Tomcat,步骤复杂 |
starter依赖 | 提供starter依赖(如spring-boot-starter-web),一键集成所需框架 | 传统Spring需手动配置多个依赖,易遗漏或版本冲突 |
自动配置 | 根据项目依赖自动配置Bean(如配置了spring-boot-starter-web,自动配置DispatcherServlet) | 传统Spring需手动在XML中配置Bean,易出错 |
监控支持 | 集成Spring Boot Actuator,提供项目健康检查、指标监控等功能 | 传统Spring需手动集成第三方监控框架,开发成本高 |
IDEA社区版需安装Spring Boot Helper插件才能创建SpringBoot项目,具体步骤如下:
配置项 | 示例值 | 说明 |
|---|---|---|
Group | com.example | 组织ID,通常为公司域名反转(如com.baidu) |
Artifact | springboot-demo | 项目ID,标识项目名称 |
Version | 0.0.1-SNAPSHOT | 项目版本,SNAPSHOT表示快照版(开发中) |
Name | springboot-demo | 项目名称,与Artifact一致即可 |
Package name | com.example.springbootdemo | 项目包名,默认由Group+Artifact组成 |
Language | Java | 开发语言,选择Java |
Build System | Maven | 构建工具,选择Maven |
Packaging | Jar | 打包方式,选择Jar(SpringBoot推荐) |
Java version | 17 | 选择与本地JDK匹配的版本 |
D:\Bit\code\springboot-demo),点击「Create」完成创建spring-boot-starter-web等依赖,需等待几分钟(若已配置国内源,速度会更快)创建完成后,项目目录结构如下(标注核心文件与目录的作用):
springboot-demo/ # 项目根目录
├── .idea/ # IDEA项目配置文件目录(无需手动修改)
├── src/ # 源代码与资源文件目录
│ ├── main/ # 主程序目录
│ │ ├── java/ # Java源代码目录
│ │ │ └── com/
│ │ │ └── example/
│ │ │ └── springbootdemo/
│ │ │ └── SpringbootDemoApplication.java # 项目启动类(核心)
│ │ └── resources/ # 资源配置文件目录
│ │ ├── static/ # 静态资源目录(存放JS、CSS、图片等)
│ │ ├── templates/ # 模板文件目录(存放Thymeleaf、Freemarker等动态模板)
│ │ └── application.properties # 项目配置文件(核心,如端口配置、数据库配置)
│ └── test/ # 测试程序目录
│ └── java/
│ └── com/
│ └── example/
│ └── springbootdemo/
│ └── SpringbootDemoApplicationTests.java # 测试类
├── target/ # 编译与打包输出目录(自动生成)
├── .gitignore # Git版本控制忽略文件配置
├── pom.xml # Maven依赖配置文件(核心)
└── springboot-demo.iml # IDEA项目模块配置文件(无需手动修改)
核心文件说明:
启动类(SpringbootDemoApplication.java):
package com.example.springbootdemo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication // SpringBoot核心注解,标识为启动类
public class SpringbootDemoApplication {
public static void main(String[] args) {
// 启动SpringBoot应用
SpringApplication.run(SpringbootDemoApplication.class, args);
}
}
@SpringBootApplication:包含@Configuration(配置类)、@EnableAutoConfiguration(自动配置)、@ComponentScan(组件扫描)三个注解的功能,是SpringBoot项目的入口SpringApplication.run():启动SpringBoot应用,加载自动配置与Bean配置文件(application.properties): 初始为空,可添加项目配置,如修改Tomcat默认端口:
# 修改Tomcat默认端口为8081(默认8080)
server.port=8081通过创建Controller类,实现一个简单的HTTP接口,浏览器访问后返回“Hello, SpringBoot!”:
com.example.springbootdemo包下新建controller子包(用于存放控制器类)controller包下新建HelloController类,代码如下:package cn.overthinker.springboot;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@RequestMapping("/hello")
public String hello(){
return "hello Spring Boot~";
}
}
启动项目:
找到SpringbootDemoApplication.java类,点击类左侧的「▶️」按钮(或右键→「Run」)
观察控制台日志,若出现以下内容,说明项目启动成功:
2024-05-20 15:30:00.123 INFO 12348 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8081 (http) with context path ''
2024-05-20 15:30:00.135 INFO 12348 --- [ main] c.e.springbootdemo.SpringbootDemoApplication : Started SpringbootDemoApplication in 2.123 seconds (JVM running for 2.567)浏览器访问测试:
http://127.0.0.1:8081/hello(注意端口与配置文件一致)
浏览器访问接口时,页面显示“Whitelabel Error Page”,状态码为404(Not Found),控制台无报错。
常见原因 | 解决方案 | 验证方法 |
|---|---|---|
URL路径错误(如/sayHi写成/sayhi或/sayHi1) | 核对@RequestMapping注解的路径与浏览器访问路径是否完全一致(区分大小写) | 修改浏览器URL为正确路径,如http://127.0.0.1:8081/sayHi |
Controller类未被Spring扫描(如包路径错误) | 确保Controller类所在包在启动类的子包下(如启动类在com.example.springbootdemo,Controller在com.example.springbootdemo.controller) | 在Controller类添加@RestController注解,重启项目后观察控制台是否有该类的初始化日志 |
注解使用错误(如用@Controller而非@RestController) | 若需返回字符串/JSON,使用@RestController;若需返回视图,使用@Controller+@ResponseBody | 将@Controller改为@RestController,重启项目后重新访问 |
浏览器访问接口时,页面显示“Whitelabel Error Page”,状态码为500(Internal Server Error),控制台有异常栈信息。
常见原因 | 解决方案 | 验证方法 |
|---|---|---|
代码逻辑异常(如除数为0、空指针异常) | 查看控制台异常栈,定位错误代码行(异常信息中会显示“at com.example…(类名.java:行号)”),修复逻辑错误 | 例如:若异常为“java.lang.ArithmeticException: / by zero”,则找到除数为0的代码,修改为合理逻辑 |
依赖版本冲突(如Spring Core版本不兼容) | 使用Maven Help插件查看依赖冲突,排除低版本或不兼容的依赖 | 在pom.xml的Dependency Analyzer标签页查看Conflicts,排除冲突依赖后重启项目 |
配置文件错误(如数据库配置错误) | 检查application.properties中的配置项(如数据库URL、用户名、密码),确保配置正确 | 注释掉错误配置,重启项目,若能正常启动则说明配置项问题 |
浏览器访问接口时,显示“无法访问此网站”或“ERR_CONNECTION_REFUSED”,控制台无项目启动成功日志。
常见原因 | 解决方案 | 验证方法 |
|---|---|---|
项目未启动成功(如端口被占用) | 查看控制台错误日志,若提示“Port 8081 is already in use”(端口8081已被占用),则修改application.properties中的server.port为未占用端口(如8082) | 修改端口后重启项目,观察控制台是否显示“Tomcat started on port(s): 8082 (http)” |
Tomcat启动失败(如JDK版本不匹配) | 确保项目使用的JDK版本与SpringBoot版本兼容(如SpringBoot 3.X需JDK 17+),在「Project Structure」中修改JDK版本 | 修改JDK版本后重启项目,若控制台无JDK相关报错则说明配置正确 |
防火墙/杀毒软件拦截 | 暂时关闭防火墙/杀毒软件,重新访问接口 | 关闭后若能正常访问,则在防火墙中添加项目进程或端口的允许规则 |
若你在学习过程中遇到其他问题,或有好的学习经验分享,欢迎在评论区留言!也可以分享你的HelloWorld项目截图,一起交流进步~