SpringBoot项目从开发到打包发布的完整教程

 更新时间:2026年04月02日 09:31:00   作者:流星雨在线  
本文手把手带你从零搭建 SpringBoot 项目,实现Redis 缓存 + MySQL 日志 + 第三方接口调用,并完成服务器打包部署,全程与 Node.js 对比,新手也能快速上手,需要的朋友可以参考下

一、新建 SpringBoot 项目

核心功能与 Node.js 版本完全一致:

✅ Redis 缓存天气数据

✅ MySQL 记录查询日志(IP / 浏览器 / 设备等)

✅ 调用第三方天气接口

✅ 接口参数校验

1. 项目初始化

使用阿里云脚手架(速度更快,解决没有java8问题):

https://start.aliyun.com

2. 手动添加 MyBatis-Plus 依赖

Spring 官方依赖库不含 MyBatis-Plus(第三方增强框架),需手动引入。

pom.xml<dependencies> 内添加:

<!-- MyBatis-Plus 核心依赖 -->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.5.3.1</version>
</dependency>

3. 刷新 Maven 依赖

  • IDEA 可视化操作(推荐)

  1. 打开右侧 Maven 面板
  2. 右键项目 → Reload Project(刷新图标)
  3. 等待依赖下载完成,红色报错自动消失
  • 命令行刷新

打开底部 Terminal,执行:

mvn clean compile -DskipTests

二、项目运行配置

1. 项目核心版本参数

选项取值
JDK1.8(服务器兼容首选)
Java8
Spring Boot2.6.13
打包方式Jar
基础依赖Spring Web、Spring Data Redis、MySQL Driver、Lombok

2. 启动警告说明

运行时出现如下日志,属于 macOS + JDK1.8 特有系统警告,完全不影响功能

objc[57167]: Class JavaLaunchHelper is implemented in both

3. JSON 返回原理(重点)

SpringBoot 内置 Jackson,自动完成对象转 JSON:

  • 返回 String → 输出字符串(带转义)
  • 返回 Map/Object/实体类自动转为标准 JSON

支持类型:MapObjectHashMapAbstractMap 等,底层为 Map 时,返回 JSON 完全一致。

三、打包发布到服务器

1. 关键配置修复(必改)

修改 pom.xml 中的插件配置:

<!-- 错误配置(会导致无法运行) -->
<skip>true</skip>
<!-- 正确配置 -->
<skip>false</skip>
  • true:跳过 SpringBoot 打包,生成普通 Jar
  • false:生成可执行 Jar,否则服务器报错:no main manifest attribute

2. 两种打包方式

  • IDEA 可视化打包
IDEA 右侧 Maven → Lifecycle → 双击 package
  • 命令行打包(推荐)
mvn clean package -DskipTests
  • clean:清理旧包,删除 target 文件夹
  • package:执行打包
  • -DskipTests:跳过测试,加快打包速度

打包后文件路径:

target/SpringBootDemo-0.0.1-SNAPSHOT.jar

3. 服务器运行命令

# 1. 前台运行(测试用)
java -jar SpringBootDemo-0.0.1-SNAPSHOT.jar
# 2. 后台运行(生产用,关闭终端不退出)
nohup java -jar SpringBootDemo-0.0.1-SNAPSHOT.jar > weather.log 2>&1 &
# 3. 停止服务
# 查找进程号
ps -ef | grep java
netstat -tulnp | grep :4000
# 杀死进程
kill -9 进程号

附录:Node.js ↔ Java 技术对照表

1. 框架 / 组件对应关系

Node.js 技术Java 技术作用说明
ExpressSpring BootWeb 框架,开发 HTTP 接口
redis 库Spring Data RedisRedis 缓存操作
mysql2MyBatis-Plus + MySQL 驱动MySQL 数据库操作
axiosRestTemplate调用第三方 HTTP 接口

2. 开发特性对比

特性Node.jsJava (Spring Boot)
项目结构扁平化分层架构(Controller/Service/Mapper)
依赖管理npm/yarnMaven/Gradle
数据操作手写 SQLMyBatis-Plus 自动 CRUD
配置管理常量文件application.yml + 注解注入
依赖引入require@Autowired 自动注入

3. 依赖功能对应

分类Spring 依赖对应 Node.js 功能
接口Spring WebExpress 提供接口服务
NoSQLSpring Data Redisredis 库操作缓存
SQLMySQL Drivermysql2 连接数据库
SQL 增强MyBatis-Plus简化数据库 CRUD,无需手写 SQL
开发工具Lombok自动生成 getter/setter,简化代码
登录验证JWTjsonwebtoken

4、SpringBoot 5 大必备库

  1. Spring Web → 接口
  2. MySQL → 存数据
  3. Redis → 缓存
  4. MyBatis-Plus → 操作数据库
  5. JWT → 登录验证

以上就是SpringBoot项目从开发到打包发布的完整教程的详细内容,更多关于SpringBoot项目开发到打包发布的资料请关注脚本之家其它相关文章!

相关文章

  • Java通过正则表达式获取字符串中数字的方法示例

    Java通过正则表达式获取字符串中数字的方法示例

    最近工作中遇到了一个需求,需要利用java获取字符串中的数字,尝试几种方法后发现利用正则表达式实现最为方法,下面这篇文章就主要介绍了Java通过正则表达式获取字符串中数字的方法,文中给出了详细的示例代码,需要的朋友可以参考下。
    2017-03-03
  • Java JDBC高封装Util类的项目实践

    Java JDBC高封装Util类的项目实践

    这篇文章主要介绍了Java JDBC高封装Util类的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-08-08
  • Java Base64算法实际应用之邮件发送实例分析

    Java Base64算法实际应用之邮件发送实例分析

    这篇文章主要介绍了Java Base64算法实际应用之邮件发送,结合实例形式分析了java字符编码与邮件发送相关操作技巧,需要的朋友可以参考下
    2019-09-09
  • Mybatis接口式编程的原理

    Mybatis接口式编程的原理

    mybatis有两种实现方式,一种可以通过xml配置文件实现,其二是面向接口编程的实现。本文重点给大家介绍mybatis接口编程的原理,需要的的朋友参考下
    2017-03-03
  • springboot配置resilience4j全过程

    springboot配置resilience4j全过程

    这篇文章主要介绍了springboot配置resilience4j全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • idea中database不显示问题的解决

    idea中database不显示问题的解决

    这篇文章主要介绍了idea中database不显示问题的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • Spring mvc整合tiles框架的简单入门教程(maven)

    Spring mvc整合tiles框架的简单入门教程(maven)

    这篇文章主要给大家介绍了关于Spring mvc整合tiles框架的简单入门教程(maven),文中通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友可以参考借鉴,下面来一起看看详细的介绍吧。
    2017-12-12
  • java如何更改数据库中的数据

    java如何更改数据库中的数据

    这篇文章主要介绍了java如何更改数据库中的数据,修改数据库是数据库操作必不可少的一部分,使用Statement接口中的excuteUpdate()方法可以修改数据表中的数据,感兴趣的朋友跟随小编一起看看吧
    2021-11-11
  • java中删除 数组中的指定元素方法

    java中删除 数组中的指定元素方法

    下面小编就为大家带来一篇java中删除 数组中的指定元素方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • springboot中请求地址转发的两种方案

    springboot中请求地址转发的两种方案

    在开发过程中,我们经常需要将请求从一个服务转发到另一个服务,以实现不同服务之间的协作,本文主要介绍了springboot中请求地址转发的两种方案,感兴趣的可以了解一下
    2023-11-11

最新评论