文章目录
一、创建 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
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 + "!";
}
}
此时不需要数据库(比如只是写个 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>
<!-- 定义日志文件的保存路径和文件名 -->
<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>
<!-- 保存 30 天的日志 -->
<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/
# 下面是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 中文论坛 的网站,里面有很多教程,不懂的都可以去看看。