最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot項(xiàng)目從開發(fā)到打包發(fā)布的完整教程

 更新時(shí)間:2026年04月02日 09:31:00   作者:流星雨在線  
本文手把手帶你從零搭建 SpringBoot 項(xiàng)目,實(shí)現(xiàn)Redis 緩存 + MySQL 日志 + 第三方接口調(diào)用,并完成服務(wù)器打包部署,全程與 Node.js 對(duì)比,新手也能快速上手,需要的朋友可以參考下

一、新建 SpringBoot 項(xiàng)目

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

? Redis 緩存天氣數(shù)據(jù)

? MySQL 記錄查詢?nèi)罩荆↖P / 瀏覽器 / 設(shè)備等)

? 調(diào)用第三方天氣接口

? 接口參數(shù)校驗(yàn)

1. 項(xiàng)目初始化

使用阿里云腳手架(速度更快,解決沒有java8問題):

https://start.aliyun.com

2. 手動(dòng)添加 MyBatis-Plus 依賴

Spring 官方依賴庫不含 MyBatis-Plus(第三方增強(qiáng)框架),需手動(dòng)引入。

pom.xml<dependencies> 內(nèi)添加:

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

3. 刷新 Maven 依賴

  • IDEA 可視化操作(推薦)

  1. 打開右側(cè) Maven 面板
  2. 右鍵項(xiàng)目 → Reload Project(刷新圖標(biāo))
  3. 等待依賴下載完成,紅色報(bào)錯(cuò)自動(dòng)消失
  • 命令行刷新

打開底部 Terminal,執(zhí)行:

mvn clean compile -DskipTests

二、項(xiàng)目運(yùn)行配置

1. 項(xiàng)目核心版本參數(shù)

選項(xiàng)取值
JDK1.8(服務(wù)器兼容首選)
Java8
Spring Boot2.6.13
打包方式Jar
基礎(chǔ)依賴Spring Web、Spring Data Redis、MySQL Driver、Lombok

2. 啟動(dòng)警告說明

運(yùn)行時(shí)出現(xiàn)如下日志,屬于 macOS + JDK1.8 特有系統(tǒng)警告,完全不影響功能

objc[57167]: Class JavaLaunchHelper is implemented in both

3. JSON 返回原理(重點(diǎn))

SpringBoot 內(nèi)置 Jackson,自動(dòng)完成對(duì)象轉(zhuǎn) JSON:

  • 返回 String → 輸出字符串(帶轉(zhuǎn)義)
  • 返回 Map/Object/實(shí)體類自動(dòng)轉(zhuǎn)為標(biāo)準(zhǔn) JSON

支持類型:Map、ObjectHashMapAbstractMap 等,底層為 Map 時(shí),返回 JSON 完全一致。

三、打包發(fā)布到服務(wù)器

1. 關(guān)鍵配置修復(fù)(必改)

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

<!-- 錯(cuò)誤配置(會(huì)導(dǎo)致無法運(yùn)行) -->
<skip>true</skip>
<!-- 正確配置 -->
<skip>false</skip>
  • true:跳過 SpringBoot 打包,生成普通 Jar
  • false:生成可執(zhí)行 Jar,否則服務(wù)器報(bào)錯(cuò):no main manifest attribute

2. 兩種打包方式

  • IDEA 可視化打包
IDEA 右側(cè) Maven → Lifecycle → 雙擊 package
  • 命令行打包(推薦)
mvn clean package -DskipTests
  • clean:清理舊包,刪除 target 文件夾
  • package:執(zhí)行打包
  • -DskipTests:跳過測(cè)試,加快打包速度

打包后文件路徑:

target/SpringBootDemo-0.0.1-SNAPSHOT.jar

3. 服務(wù)器運(yùn)行命令

# 1. 前臺(tái)運(yùn)行(測(cè)試用)
java -jar SpringBootDemo-0.0.1-SNAPSHOT.jar
# 2. 后臺(tái)運(yùn)行(生產(chǎn)用,關(guān)閉終端不退出)
nohup java -jar SpringBootDemo-0.0.1-SNAPSHOT.jar > weather.log 2>&1 &
# 3. 停止服務(wù)
# 查找進(jìn)程號(hào)
ps -ef | grep java
netstat -tulnp | grep :4000
# 殺死進(jìn)程
kill -9 進(jìn)程號(hào)

附錄:Node.js ↔ Java 技術(shù)對(duì)照表

1. 框架 / 組件對(duì)應(yīng)關(guān)系

Node.js 技術(shù)Java 技術(shù)作用說明
ExpressSpring BootWeb 框架,開發(fā) HTTP 接口
redis 庫Spring Data RedisRedis 緩存操作
mysql2MyBatis-Plus + MySQL 驅(qū)動(dòng)MySQL 數(shù)據(jù)庫操作
axiosRestTemplate調(diào)用第三方 HTTP 接口

2. 開發(fā)特性對(duì)比

特性Node.jsJava (Spring Boot)
項(xiàng)目結(jié)構(gòu)扁平化分層架構(gòu)(Controller/Service/Mapper)
依賴管理npm/yarnMaven/Gradle
數(shù)據(jù)操作手寫 SQLMyBatis-Plus 自動(dòng) CRUD
配置管理常量文件application.yml + 注解注入
依賴引入require@Autowired 自動(dòng)注入

3. 依賴功能對(duì)應(yīng)

分類Spring 依賴對(duì)應(yīng) Node.js 功能
接口Spring WebExpress 提供接口服務(wù)
NoSQLSpring Data Redisredis 庫操作緩存
SQLMySQL Drivermysql2 連接數(shù)據(jù)庫
SQL 增強(qiáng)MyBatis-Plus簡(jiǎn)化數(shù)據(jù)庫 CRUD,無需手寫 SQL
開發(fā)工具Lombok自動(dòng)生成 getter/setter,簡(jiǎn)化代碼
登錄驗(yàn)證JWTjsonwebtoken

4、SpringBoot 5 大必備庫

  1. Spring Web → 接口
  2. MySQL → 存數(shù)據(jù)
  3. Redis → 緩存
  4. MyBatis-Plus → 操作數(shù)據(jù)庫
  5. JWT → 登錄驗(yàn)證

以上就是SpringBoot項(xiàng)目從開發(fā)到打包發(fā)布的完整教程的詳細(xì)內(nèi)容,更多關(guān)于SpringBoot項(xiàng)目開發(fā)到打包發(fā)布的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 使用feign配置網(wǎng)絡(luò)ip代理

    使用feign配置網(wǎng)絡(luò)ip代理

    這篇文章主要介紹了使用feign配置網(wǎng)絡(luò)ip代理,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • Python如何使用@property @x.setter及@x.deleter

    Python如何使用@property @x.setter及@x.deleter

    這篇文章主要介紹了Python如何使用@property @x.setter及@x.deleter,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • Java截取PDF內(nèi)容為圖片的實(shí)現(xiàn)代碼

    Java截取PDF內(nèi)容為圖片的實(shí)現(xiàn)代碼

    本文主要介紹了java實(shí)現(xiàn)截取PDF指定頁并進(jìn)行圖片格式轉(zhuǎn)換功能的技術(shù)要點(diǎn),通過實(shí)例代碼,文章詳細(xì)地介紹了如何使用java語言來實(shí)現(xiàn)PDF指定頁的截取和圖片格式轉(zhuǎn)換,需要的朋友可以參考下
    2025-10-10
  • IntelliJ IDEA安裝scala插件并創(chuàng)建scala工程的步驟詳細(xì)教程

    IntelliJ IDEA安裝scala插件并創(chuàng)建scala工程的步驟詳細(xì)教程

    這篇文章主要介紹了IntelliJ IDEA安裝scala插件并創(chuàng)建scala工程的步驟,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-07
  • Spring項(xiàng)目中Ordered接口的應(yīng)用之全局過濾器(GlobalFilter)的順序控制

    Spring項(xiàng)目中Ordered接口的應(yīng)用之全局過濾器(GlobalFilter)的順序控制

    在Spring框架,尤其是Spring Cloud Gateway或Spring WebFlux項(xiàng)目中,Ordered接口扮演著重要的角色,特別是在實(shí)現(xiàn)全局過濾器(GlobalFilter)時(shí),用于控制過濾器執(zhí)行的優(yōu)先級(jí),下面將介紹如何在Spring項(xiàng)目中使用Ordered接口來管理Global Filter的執(zhí)行順序,需要的朋友可以參考下
    2024-06-06
  • java實(shí)現(xiàn)模擬RPG格斗

    java實(shí)現(xiàn)模擬RPG格斗

    這篇文章主要介紹了java實(shí)現(xiàn)模擬RPG格斗,每個(gè)英雄具有以下幾個(gè)屬性:生命值(為0時(shí)英雄倒下)、攻擊力(每次攻擊時(shí)扣除對(duì)方的生命值點(diǎn)數(shù))、攻擊間隔(每次攻擊過后都要等待間隔時(shí)間才能進(jìn)行下次攻擊首次攻擊之前也要先等待間隔時(shí)間)簡(jiǎn)單設(shè)置了下吧,小伙伴可以參考下
    2015-03-03
  • Java字符串拼接+和StringBuilder的比較與選擇

    Java字符串拼接+和StringBuilder的比較與選擇

    Java 提供了兩種主要的方式:使用 "+" 運(yùn)算符和使用 StringBuilder 類,本文主要介紹了Java字符串拼接+和StringBuilder的比較與選擇,感興趣的可以了解一下
    2023-10-10
  • java實(shí)現(xiàn)遞歸菜單樹

    java實(shí)現(xiàn)遞歸菜單樹

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)遞歸菜單樹,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-08-08
  • 一文帶你搞懂java如何實(shí)現(xiàn)網(wǎng)絡(luò)NIO高并發(fā)編程

    一文帶你搞懂java如何實(shí)現(xiàn)網(wǎng)絡(luò)NIO高并發(fā)編程

    NIO是?Java?在?JDK?1.4?中引入的一套新的?I/O?API,旨在解決傳統(tǒng)?I/O高并發(fā)場(chǎng)景下的性能和擴(kuò)展性不足的問題,下面就跟隨小編一起深入了解下NIO高并發(fā)編程吧
    2024-12-12
  • SpringBoot配置https實(shí)操方法

    SpringBoot配置https實(shí)操方法

    在本篇文章里小編給大家整理的是關(guān)于SpringBoot配置https實(shí)操方法以及相關(guān)知識(shí)點(diǎn),需要的朋友們參考下。
    2019-11-11

最新評(píng)論

台中市| 揭阳市| 偏关县| 潜山县| 肃南| 高阳县| 长岛县| 互助| 奉节县| 区。| 武安市| 富阳市| 安阳市| 陆河县| 岑巩县| 罗江县| 象山县| 杂多县| 陆丰市| 广安市| 肥东县| 乌拉特前旗| 承德县| 苍梧县| 定南县| 城固县| 成武县| 洛南县| 乐业县| 江源县| 浠水县| 东兰县| 海晏县| 皮山县| 卓资县| 尉氏县| 旅游| 龙游县| 乐安县| 弥渡县| 阳春市|