跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Javajava

IntelliJ IDEA 创建 Spring Boot 项目完整指南

使用 IntelliJ IDEA 创建 Spring Boot 项目涉及新建项目配置、依赖选择及 Maven 镜像设置。教程包含社区版通过官网生成项目的替代方案,项目结构解析,以及 Controller 编写与接口测试。此外还涵盖了 MySQL 数据源配置、Logback 日志文件设置和 Git 忽略规则添加,确保项目基础环境完善。

PentesterX发布于 2026/2/4更新于 2026/10/196.3K 浏览
IntelliJ IDEA 创建 Spring Boot 项目完整指南

IntelliJ IDEA 创建 Spring Boot 项目完整指南

一、创建 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 应用的现代模板引擎。
  • Lombok:通过注解自动生成样板代码。
  • MySQL Driver:用于连接 MySQL 数据库。

图片

其他可选依赖:

  • Spring Boot DevTools:热部署和自动重启。
  • Spring Security:用户认证和授权保护。
  • Spring Data Redis:集成 Redis 缓存机制。
  • Spring Boot Actuator:监控和管理应用健康状况。

后续可通过 pom.xml 添加依赖。

4. 生成项目

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

图片

5. 修改 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>
</mirror>

重写用户设置文件和本地仓库路径。

图片

后续添加依赖可在 pom.xml 中点击添加启动器选择。

图片

6. 免费版 IDEA 创建教程

若使用免费社区版,可访问 start.spring.io 官网创建,步骤与 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。

package com.example.engstudy;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {
    @GetMapping("/hello")
    public String sayHello(@RequestParam(value = "name", defaultValue = "World") String name) {
        return "Hello " + name + "!";
    }
}

此时不需要数据库,在 src/main/resources/application.properties 文件中添加如下配置,禁用数据源自动配置:

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

2. 启动应用

打开启动类 EngStudyApplication.java,点击右上角绿色箭头运行。控制台输出日志即启动成功。

图片

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>
    <!-- 定义日志文件的保存路径和文件名 -->
    <property name="LOG_FILE" value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}}/spring.log}"/>
    <!-- 控制台输出 -->
    <appender name="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>
    <!-- 文件输出 -->
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${LOG_FILE}</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${LOG_FILE}.%d{yyyy-MM-dd}.gz</fileNamePattern>
            <maxHistory>30</maxHistory>
        </rollingPolicy>
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>
    <!-- 根日志记录器 -->
    <root level="info">
        <appender-ref ref="CONSOLE"/>
        <appender-ref ref="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/
# 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
hs_err_pid*
replay_pid*
# 编译产物
*.class
*.jar
*.war
# 构建目录
/target/
/build/
# 日志文件
*.log
logs/
# 系统文件
.DS_Store
Thumbs.db

此配置用于防止多余依赖文件上传到 Git 仓库。

图片

目录

  1. IntelliJ IDEA 创建 Spring Boot 项目完整指南
  2. 一、创建 Spring Boot 项目
  3. 1. 新建项目
  4. 2. 基础配置
  5. 3. 选择依赖
  6. 4. 生成项目
  7. 5. 修改 Maven 镜像仓库
  8. 6. 免费版 IDEA 创建教程
  9. 二、项目结构解析
  10. 三、编写测试接口
  11. 1. 创建 Controller
  12. 2. 启动应用
  13. 3. 测试接口
  14. 四、其他设置
  15. 1. 配置 MySQL 连接
  16. 2. 配置日志文件
  17. 3. 添加 .gitignore 文件
  18. STS
  19. IntelliJ IDEA
  20. NetBeans
  21. VS Code
  22. Compiled class file
  23. Log file
  24. BlueJ files
  25. Mobile Tools for Java (J2ME)
  26. Package Files
  27. virtual machine crash logs
  28. 编译产物
  29. 构建目录
  30. 日志文件
  31. 系统文件

更多推荐文章

查看全部
  • C++ 智能指针详解:RAII 思想与 shared_ptr 原理
  • 前端 AI 工具实践指南
  • Zabbix 分布式开源监控系统实战部署
  • PFRL 源码解析:Q 函数与策略网络底层实现
  • 前端消息提示组件的设计方案与最佳实践
  • Python 自动化测试框架:基于 Unittest 与 Excel 的数据驱动及可视化报告生成
  • InsightFace ArcFace PyTorch 人脸识别实战指南
  • 基于扣子平台搭建多功能 AI 女友机器人教程
  • 近端策略优化算法 (PPO) 详解与 PyTorch 实现
  • ClawWork:在破产边缘测试AI的商业头脑
  • 弄懂Python虚拟环境:venv与conda原理及实战
  • C# WebApi 接口测试工具:WebApiTestClient 实战指南
  • 在 AI IDE 中集成 ui-ux-pro-max-skill 构建专业 UI/UX 界面
  • AIGC 背景下图文内容社区数据指标体系构建指南
  • Python 核心应用领域与开发环境配置详解
  • Llama Factory 微调训练全过程详解
  • AI 数据标注平台的选型与实践:效率提升背后的技术逻辑
  • 基于 LangChain 集成本地部署的 Llama3.1 大模型
  • C++ 迭代器全解析:从概念到实践
  • Meta-Llama-3-8B-Instruct 工业设备故障诊断实践

相关免费在线工具

  • Keycode 信息

    查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online

  • Escape 与 Native 编解码

    JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online

  • JavaScript / HTML 格式化

    使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online

  • JavaScript 压缩与混淆

    Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online