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

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

打开 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 中点击添加启动器选择。

若使用免费社区版,可访问 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 依赖管理

在 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>
<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>
在项目主目录下创建 .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 仓库。


微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 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