IntelliJ IDEA 创建 Spring Boot 项目指南
在 IntelliJ IDEA 中创建 Spring Boot 项目的完整流程。内容包括新建项目的基础配置与依赖选择,Maven 镜像仓库的修改方法,以及免费社区版 IDEA 通过 start.spring.io 创建的替代方案。此外,还解析了生成的项目结构,演示了编写测试 Controller 接口并启动应用的过程。最后提供了 MySQL 连接配置、日志文件设置及 .gitignore 文件添加等常用开发环境优化建议。

在 IntelliJ IDEA 中创建 Spring Boot 项目的完整流程。内容包括新建项目的基础配置与依赖选择,Maven 镜像仓库的修改方法,以及免费社区版 IDEA 通过 start.spring.io 创建的替代方案。此外,还解析了生成的项目结构,演示了编写测试 Controller 接口并启动应用的过程。最后提供了 MySQL 连接配置、日志文件设置及 .gitignore 文件添加等常用开发环境优化建议。

打开 IntelliJ IDEA,选择新建项目。

注意:社区版 IDEA 左侧选项可能不同,订阅版可试用 30 天。
配置项目信息如下:

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

在 Dependencies 界面搜索并勾选所需依赖。一般项目建议包含以下项:

其他可选依赖:
后续可通过 pom.xml 添加更多依赖。
点击 Finish,IDEA 自动下载初始依赖并生成项目结构。首次加载可能需要 2-5 分钟。

如果 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 中点击 Add Starter 选择。

如果使用免费社区版 IDEA,可访问 start.spring.io 官网创建,步骤类似。

选择需要的依赖后点击 CREATE 按钮。

解压项目后用 IDEA 打开即可。


之后需修改 Maven 仓库等配置。

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

在 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
打开启动类 EngStudyApplication.java,点击右上角绿色箭头运行。控制台输出日志即表示启动成功。

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

修改 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
在 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>
%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
在项目主目录下创建 .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, 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 仓库。


微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online
JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online
使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online
Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online