【最新版】IntelliJ IDEA 2025 创建 SpringBoot 项目

【最新版】IntelliJ IDEA 2025 创建 SpringBoot 项目

文章目录


一、创建 Spring Boot 项目

1. 新建项目

打开 IDEA,选择新建项目

在这里插入图片描述

2. 基础配置

这里注意下,如果你用的是社区版的 IDEA,是没有左侧这些选项的,订阅版可以先试用 30 天。

配置项目信息如下:

  • Name‌:项目名称(如 demo)
  • Location‌:项目存储路径
  • Language‌:Java
  • Type‌:Maven(一般都是选 Maven)
  • Group‌:包名前缀(如 com.example)
  • Artifact‌:项目标识(自动填充)‌
  • Java Version‌:选择 JDK 11 或 17‌
  • Spring Boot‌:选择最新稳定版本(如 3.4.x)
在这里插入图片描述

然后点击下一步,选择 Spring Boot 版本:

在这里插入图片描述

3. 选择依赖

在 ‌Dependencies‌ 界面搜索并勾选所需依赖,一般项目可以先选择下面这些依赖项:

  • Spring Web:构建 RESTful API,处理 HTTP 请求和响应。
  • Spring Data JPA:使用关系型数据库进行数据存储和查询。
  • Thymeleaf:适合 Spring 应用的现代模板引擎,支持 HTML5,提供自然模板,也能在浏览器中直接查看。
  • Lombok:通过注解自动生成样板代码,减少重复工作,如 getter 和 setter。
  • MySQL Driver:用于连接 MySQL 数据库,进行数据存取。
在这里插入图片描述

除了上面这些,你还可以添加:

  • Spring Boot DevTools:提供开发效率提升功能,如热部署和自动重启。
  • Spring REST Docs:生成基于测试的API文档,帮助维护接口文档。
  • Spring Security:实现安全功能,提供用户认证和授权保护。
  • Spring Data MongoDB:如果使用非关系型数据库,提供MongoDB支持。
  • WebSocket:支持实时通信功能,适用于实时聊天或问答。
  • Spring Data Redis (Access + Driver):用于集成Redis,支持缓存机制提升性能。
  • Spring Boot Actuator:监控和管理应用的健康状况和性能指标。

反正根据自己的需求勾选,后续可通过 pom.xml 添加依赖。

4. 生成项目

点击 Finish,IDEA 自动下载初始依赖并生成项目结构。首次加载可能需 2-5 分钟(依赖下载时间)。

在这里插入图片描述

5. 修改 Maven 镜像仓库

如果你的 Maven 加载过慢,这里有个解决办法,把 Maven 的配置文件 settings.xml 中的镜像源替换为阿里的。

<mirror><id>maven-default-http-blocker</id><mirrorOf>external:http:*</mirrorOf><name>Pseudo repository to mirror external repositories initially using HTTP.</name><url>http://0.0.0.0/</url><blocked>true</blocked></mirror>

把上面原有的,替换为下面的:

<mirror><id>alimaven</id><name>aliyun maven</name><url>https://maven.aliyun.com/repository/public</url><mirrorOf>*</mirrorOf><!-- 全部仓库都走阿里云,包括原本的sl-releases --></mirror>

接着,重写一下 用户设置文件本地仓库 的路径。

在这里插入图片描述

如果后续你要添加其他依赖,只需要在 pom.xml 文件中,点击 添加启动器,然后就可以选择你想要的依赖了

在这里插入图片描述

6. 免费版 IDEA 创建教程

如果你用的是免费社区版的 IDEA,那么可以选择去 start.spring 官网上创建,这个和在 IDEA 里面创建是一样的。

具体配置如下图所示:

在这里插入图片描述

接着可以在右边选择你要的依赖

在这里插入图片描述

选择自己需要用到的即可

在这里插入图片描述

最近点击最下面的 CREATE 按钮就创建成功啦

在这里插入图片描述

然后把项目包解压缩以后,再用 IDEA 打开就大功告成了

在这里插入图片描述

然后就去修改 Maven 仓库等等之类的。

二、项目结构解析

生成的项目目录如下:

EngStudy ├── src │ ├── main │ │ ├── java │ │ │ └── com.example.engstudy │ │ │ └── engstudyApplication.java # 启动类 │ │ └── resources │ │ ├── static # 静态资源(CSS/JS) │ │ ├── templates # 模板文件(HTML) │ │ └── application.properties # 配置文件 │ └── test # 测试代码 ├── pom.xml # Maven依赖管理 

如下图所示:

在这里插入图片描述

三、编写测试接口

1. 创建 Controller

src/main/java/com.example.engstudy 下新建 HelloController.java

packagecom.example.engstudy;importorg.springframework.web.bind.annotation.GetMapping;importorg.springframework.web.bind.annotation.RequestParam;importorg.springframework.web.bind.annotation.RestController;@RestControllerpublicclassHelloController{@GetMapping("/hello")publicStringsayHello(@RequestParam(value ="name", defaultValue ="World")String name){return"Hello "+ name +"!";}}

此时不需要数据库(比如只是写个 Hello World 接口),在 src/main/resources/application.properties 文件中添加如下配置,禁用数据源自动配置:

spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration 

2. 启动应用

打开启动类 EngStudyApplication.java → 点击右上角绿色箭头(或右键选择 Run)。控制台输出如下日志即启动成功:

在这里插入图片描述

3. 测试接口

浏览器访问 http://localhost:8080/hello,页面返回 Hello World!

在这里插入图片描述

四、其他设置

1、配置 MySQL 连接

修改 src/main/resources/application.properties

spring.datasource.url=jdbc:mysql://localhost:3306/your_db spring.datasource.username=your_user spring.datasource.password=your_password spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.jpa.hibernate.ddl-auto=update 

2、配置日志文件

为了将日志保存到文件中,你可以在 src/main/resources 目录下创建一个 logback-spring.xml 文件,并进行如下配置:

<?xml version="1.0" encoding="UTF-8"?><configuration><!-- 定义日志文件的保存路径和文件名 --><propertyname="LOG_FILE"value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}}/spring.log}"/><!-- 控制台输出 --><appendername="CONSOLE"class="ch.qos.logback.core.ConsoleAppender"><encoder><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern></encoder></appender><!-- 文件输出 --><appendername="FILE"class="ch.qos.logback.core.rolling.RollingFileAppender"><file>${LOG_FILE}</file><rollingPolicyclass="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!-- 日志文件按天滚动 --><fileNamePattern>${LOG_FILE}.%d{yyyy-MM-dd}.gz</fileNamePattern><!-- 保存 30 天的日志 --><maxHistory>30</maxHistory></rollingPolicy><encoder><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern></encoder></appender><!-- 根日志记录器 --><rootlevel="info"><appender-refref="CONSOLE"/><appender-refref="FILE"/></root></configuration>

3、添加 .gitignore 文件

在你的项目主目录下,为你的 .gitignore 文件添加下面的内容(没有这个文件的话,就创建一个)

HELP.md target/ .mvn/wrapper/maven-wrapper.jar !**/src/main/**/target/ !**/src/test/**/target/ ### STS ### .apt_generated .classpath .factorypath .project .settings .springBeans .sts4-cache ### IntelliJ IDEA ### .idea *.iws *.iml *.ipr ### NetBeans ### /nbproject/private/ /nbbuild/ /dist/ /nbdist/ /.nb-gradle/ build/ !**/src/main/**/build/ !**/src/test/**/build/ ### VS Code ### .vscode/ # 下面是github中的内容 # Compiled class file *.class # Log file *.log # BlueJ files *.ctxt # Mobile Tools for Java (J2ME) .mtj.tmp/ # Package Files # *.jar *.war *.nar *.ear *.zip *.tar.gz *.rar # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml hs_err_pid* replay_pid* # 编译产物 *.class *.jar *.war # 构建目录 /target/ /build/ # 日志文件 *.log logs/ # 系统文件 .DS_Store Thumbs.db 

这个主要是你 git 上传的时候,防止一些多余的依赖文件上传到仓库中去。

在这里插入图片描述

最后,再给大家推荐一个叫做 Spring 中文论坛 的网站,里面有很多教程,不懂的都可以去看看。

Read more

AI实践(0)学习路线

AI实践(0)学习路线

AI实践(0)学习路线 Author: Once Day Date: 2026年2月28日 一位热衷于Linux学习和开发的菜鸟,试图谱写一场冒险之旅,也许终点只是一场白日梦… 漫漫长路,有人对你微笑过嘛… 全系列文章可参考专栏: AI实践成长_Once-Day的博客-ZEEKLOG博客 参考文章:文档 – Claude 中文 - Claude AI 开发技术社区从零到专家:普通人学习人工智能的完整指南 - 软件职业规划 - 博客园小白变大神!2025年人工智能(AI)初学者学习路线图,轻松从入门到高手! - 知乎OpenAI for developers提示工程指南:生成式人工智能终极指南 — Prompt Engineering Guide: The Ultimate Guide to Generative AIOpenAI 文档介绍 | OpenAI 官方帮助文档中文版文本补全(

By Ne0inhk
人工智能:预训练语言模型与BERT实战应用

人工智能:预训练语言模型与BERT实战应用

人工智能:预训练语言模型与BERT实战应用 1.1 本章学习目标与重点 💡 学习目标:掌握预训练语言模型的核心思想、BERT模型的架构原理,以及基于BERT的文本分类任务实战流程。 💡 学习重点:理解BERT的双向注意力机制与掩码语言模型预训练任务,学会使用Hugging Face Transformers库调用BERT模型并完成微调。 1.2 预训练语言模型的发展历程与核心思想 1.2.1 为什么需要预训练语言模型 💡 传统的自然语言处理模型(如LSTM+词嵌入)存在两个核心痛点:一是需要大量标注数据才能训练出高性能模型,二是模型对语言上下文的理解能力有限。 预训练语言模型的出现解决了这些问题。它的核心思路是先在大规模无标注文本语料上进行预训练,学习通用的语言知识和语义表示,再针对特定任务进行微调。这种“预训练+微调”的范式,极大降低了对标注数据的依赖,同时显著提升了模型在各类NLP任务上的性能。 预训练语言模型的发展可以分为三个阶段: 1. 单向语言模型阶段:以ELMo为代表,通过双向LSTM分别学习正向和反向的语言表示,再拼接得到词向量。但ELMo本质还

By Ne0inhk
【C++STL :list类 (一) 】C++98 完全指南:std::list 详解与源码剖析

【C++STL :list类 (一) 】C++98 完全指南:std::list 详解与源码剖析

🔥艾莉丝努力练剑:个人主页 ❄专栏传送门:《C语言》、《数据结构与算法》、C/C++干货分享&学习过程记录、Linux操作系统编程详解、笔试/面试常见算法:从基础到进阶 ⭐️为天地立心,为生民立命,为往圣继绝学,为万世开太平 🎬艾莉丝的简介: 🎬艾莉丝的C++专栏简介: 目录 C++的两个参考文档 1  ~>  初识List:特性与能力介绍 2  ~>  list 的核心接口与基本操作 2.1  list:构造函数 2.2  list:iterator的使用 2.2.1  list iterator使用的表格总结 2.2.2  注意事项 2.

By Ne0inhk
爆火AI圈的OpenClaw(小龙虾):能干活的本地AI智能体,一文吃透入门到实战

爆火AI圈的OpenClaw(小龙虾):能干活的本地AI智能体,一文吃透入门到实战

🔥个人主页:Cx330🌸 ❄️个人专栏:《C语言》《LeetCode刷题集》《数据结构-初阶》《C++知识分享》 《优选算法指南-必刷经典100题》《Linux操作系统》:从入门到入魔 《Git深度解析》:版本管理实战全解 🌟心向往之行必能至 🎥Cx330🌸的简介: 目录 前言: 一、先搞懂:OpenClaw到底是什么?为什么这么火? 1.1 项目核心定位 1.2 爆火的核心原因:踩中AI落地痛点 1.3 OpenClaw vs 传统AI vs 自动化工具 二、OpenClaw核心架构:它是怎么干活的? 三、保姆级部署:全平台一键安装,小白也能搞定 3.1 部署前置准备 3.2 官方一键脚本(新手首选,

By Ne0inhk