引言
在 Windows 系统上部署 Spring Boot + MyBatis + MySQL 项目,可以通过以下步骤完成。我们将分为两种部署方式:
- 本地运行:直接在 Windows 上运行 Spring Boot 项目。
- 打包部署:将 Spring Boot 项目打包为 JAR 文件,并在 Windows 上运行。
一、本地运行
1. 确保环境已准备好
- MySQL:确保 MySQL 服务已启动,并且数据库和表已创建。
- Java:确保 JDK 1.8+ 已安装并配置好环境变量。
- IntelliJ IDEA:确保项目已正确配置并能正常运行。
2. 启动 Spring Boot 项目
- 打开 IntelliJ IDEA。
- 打开项目,确保
application.properties
中的数据库配置正确。 - 运行
DemoApplication.java
中的main
方法。 - 检查控制台日志,确保应用启动成功。
3. 测试 API
- 使用浏览器或 Postman 访问
http://localhost:8080/users
,验证是否能正确返回数据。
二、打包部署
1. 打包 Spring Boot 项目
打开 IntelliJ IDEA。
在右侧 Maven 面板中,点击
Lifecycle
→package
,执行打包操作。
- 打包完成后,会在
target
目录下生成一个 JAR 文件,例如springboot-mybatis-demo-0.0.1-SNAPSHOT.jar
。
- 打包完成后,会在
2. 准备运行环境
确保 Windows 系统已安装 JDK 1.8+。
- 打开命令提示符(CMD),运行以下命令检查 Java 版本:
java -version
- 如果未安装 JDK,请从 Oracle JDK 或 OpenJDK 下载并安装。
- 打开命令提示符(CMD),运行以下命令检查 Java 版本:
确保 MySQL 服务已启动,并且数据库配置与
application.properties
一致。
3. 运行 JAR 文件
将打包好的 JAR 文件复制到 Windows 系统的某个目录,例如
C:\springboot-demo
。打开命令提示符(CMD),进入 JAR 文件所在目录:
cd C:\springboot-demo
运行以下命令启动 Spring Boot 应用:
java -jar springboot-mybatis-demo-0.0.1-SNAPSHOT.jar
检查控制台日志,确保应用启动成功。
4. 测试 API
- 使用浏览器或 Postman 访问
http://localhost:8080/users
,验证是否能正确返回数据。
浏览器显示:
后端显示:
三、后台运行(可选)
如果希望 Spring Boot 应用在后台运行,可以使用以下方法:
方法 1:使用 javaw
命令
- 创建一个批处理文件(
.bat
),例如run.bat
,内容如下:@echo off start javaw -jar springboot-mybatis-demo-0.0.1-SNAPSHOT.jar exit
- 双击运行
run.bat
,Spring Boot 应用将在后台运行。
方法 2:使用 Windows 服务
- 使用工具如 NSSM 将 JAR 文件注册为 Windows 服务。
- 配置 NSSM:
- 下载 NSSM 并解压。
- 打开命令提示符,进入 NSSM 目录,运行以下命令:
nssm install SpringBootDemo
- 在弹出的窗口中配置:
- Path:
C:\Program Files\Java\jdk-23\bin\java.exe
- Startup directory:
C:\springboot-demo
- Arguments:
-jar springboot-mybatis-demo-0.0.1-SNAPSHOT.jar
- Path:
- 点击
Install service
,完成服务注册。
- 启动服务:
- 打开 Windows 服务管理器(
services.msc
),找到SpringBootDemo
服务并启动。
- 打开 Windows 服务管理器(
四、默认端口修改
在 Spring Boot 项目中,默认端口 8080
是通过配置文件(如 application.properties
或 application.yml
)来设置的。以下是修改默认端口的详细步骤:
1. 修改 application.properties
文件
如果你使用的是 application.properties
文件,可以在文件中添加以下配置来修改端口:
server.port=8081
- 将
8081
替换为你想要的端口号。 - 保存文件后,重启 Spring Boot 应用,应用将会使用新的端口。
2. 修改 application.yml
文件
如果你使用的是 application.yml
文件,可以在文件中添加以下配置来修改端口:
server:
port: 8081
- 将
8081
替换为你想要的端口号。 - 保存文件后,重启 Spring Boot 应用,应用将会使用新的端口。
3. 通过命令行参数修改端口
如果你不想修改配置文件,也可以通过命令行参数来指定端口。在运行 JAR 文件时,添加以下参数:
java -jar springboot-mybatis-demo-0.0.1-SNAPSHOT.jar --server.port=8081
- 将
8081
替换为你想要的端口号。
4. 通过环境变量修改端口
你还可以通过设置环境变量来修改端口。在 Windows 系统中,可以按以下步骤操作:
- 打开命令提示符(CMD)。
- 设置环境变量:
set SERVER_PORT=8081
- 运行 JAR 文件:
java -jar springboot-mybatis-demo-0.0.1-SNAPSHOT.jar
- 应用将会使用环境变量中指定的端口。
5. 优先级说明
Spring Boot 支持多种配置方式,优先级从高到低如下:
- 命令行参数(
--server.port=8081
)。 - 环境变量(
SERVER_PORT=8081
)。 - 配置文件(
application.properties
或application.yml
)。 - 默认值(
8080
)。
如果同时存在多种配置方式,Spring Boot 会使用优先级最高的配置。
6. 验证端口修改
修改端口后,启动 Spring Boot 应用,检查控制台日志,确认应用是否在新端口上运行。例如:
2025-02-10T16:07:39.507+08:00 INFO 14720 --- [spring_boot_demo] [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8081 (http)
访问 http://localhost:8081/users
,验证 API 是否正常工作。
总结
- 默认端口
8080
可以通过修改application.properties
或application.yml
文件来更改。 - 也可以通过命令行参数或环境变量动态修改端口。
- 修改后,重启应用即可生效。
五、常见问题解决
1. 端口冲突
如果端口 8080
被占用,可以修改 application.properties
:
server.port=8081
2. 数据库连接失败
- 检查 MySQL 服务是否启动。
- 检查
application.properties
中的数据库配置是否正确。 - 确保 MySQL 允许远程连接(如果需要)。
3. JAR 文件无法运行
- 确保 JDK 已正确安装并配置环境变量。
- 检查 JAR 文件是否完整,尝试重新打包。
4. 后台运行无法访问
- 确保防火墙允许端口访问。
- 检查日志文件(通常位于 JAR 文件同级目录下的
logs
文件夹)。
六、总结
通过以上步骤,你可以在 Windows 系统上成功部署和运行 Spring Boot + MyBatis + MySQL 项目。如果需要进一步优化,可以考虑:
- 使用 Nginx 或 Apache 作为反向代理。
- 配置 HTTPS 加密访问。
- 使用 Docker 容器化部署。