SpringBoot1--簡單體驗

1 Helloworld

打開:https://start.spring.io/

選擇maven配置。增加SpringWeb的依賴。

Generate之后解壓,代碼大致如下:

hp@DESKTOP-430500P:~/springboot2/demo$ tree
├── HELP.md
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
? ? ├── main
? ? │???├── java
? ? │???│???└── com
? ? │???│??? ? ?└── example
? ? │???│??? ? ? ? ?└── demo
? ? │???│??? ? ? ? ? ? ?└── DemoApplication.java
? ? │???└── resources
? ? │??? ? ?├── application.properties
? ? │??? ? ?├── static
? ? │??? ? ?└── templates
? ? └── test
? ? ? ? └── java
? ? ? ? ? ? └── com
? ? ? ? ? ? ? ? └── example
? ? ? ? ? ? ? ? ? ? └── demo
? ? ? ? ? ? ? ? ? ? ? ? └── DemoApplicationTests.java

15 directories, 7 files
?


此時提供了main和pom.xml

DemoApplication.java

package com.example.demo;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class DemoApplication {public static void main(String[] args) {SpringApplication.run(DemoApplication.class, args);}}

POM.xml。這個是給maven用的。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.5.0</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.example</groupId><artifactId>demo</artifactId><version>0.0.1-SNAPSHOT</version><name>demo</name><description>Demo project for Spring Boot</description><url/><licenses><license/></licenses><developers><developer/></developers><scm><connection/><developerConnection/><tag/><url/></scm><properties><java.version>17</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

修改src中的Handler。src/main/java/com/example/demo/HelloController.java

package com.example.demo;import org.springframework.web.bind.annotation.*;@RestController
public class HelloController {@GetMapping("/hello")public String hello() {return "Hello from Spring Boot!";}
}

因為我的8080被thingsboard用了。所以換成8081。

在src/main/resources/application.properties中添加server.port=8081

安裝JDK17和Maven

sudo apt update
sudo apt install openjdk-17-jdk maven -y

編譯

mvn clean package

編譯的時間那是相當漫長

運行

java -jar target/demo-0.0.1-SNAPSHOT.jar

之后訪問8081就可以看到了。

這里也可以直接運行:

mvn spring-boot:run

2 一些理論

2.1 SpringBoot和Spring區別

Spring本質就是web服務框架。和Springboot是什么區別呢??

維度Spring FrameworkSpring Boot
定位輕量級企業應用開發框架快速構建生產級 Spring 應用的腳手架
核心目標提供松耦合、模塊化的企業級開發能力簡化 Spring 應用的初始搭建和配置
復雜度高(需手動配置依賴和集成)低(約定優于配置,開箱即用)
適用階段適合深度定制和復雜場景適合快速開發、微服務和標準化項目

SpringBoot就是對Spring的一個二次封裝集成。

  • 通過?Starter 依賴?一鍵集成(如?spring-boot-starter-web?包含 Tomcat + Spring MVC + JSON 支持)。

  • 版本由 Spring Boot 父POM統一管理。

本質就是簡化了Spring的繁瑣的搭建,簡化了配置文件,簡化了集成(Tomcat等)。。

2.2 學習文檔

官方文檔:Spring Boot :: Spring Boot

中文文檔:Spring Boot 中文文檔

快速上手指南:Getting Started | Building an Application with Spring Boot

Spring Boot 官方項目生成器:https://start.spring.io?

一些重點內容:

  • 起步章節 Getting Started

  • 自動配置原理

  • 核心功能(Web、數據庫、配置、測試)

  • 部署與運維(Actuator,Logging,Metrics)

  • Spring Boot 與 Spring Cloud 的銜接

常用部分

功能文檔章節
端口配置application.propertiesserver.port
日志配置Logging(支持 Logback、Log4j2)
數據源配置Spring Data / JPA / JDBC
REST API 開發Spring Web(@RestController 等)
Actuator 健康監控Production-ready Features
打包運行Build tool support(Maven/Gradle)

2.3 和前端的集成

集成Angular 前端

單獨寫了一篇:Angularjs-Hello-CSDN博客

2.4 典型開發發布場景

?接到需求->修改代碼->測試->生成正式jar包->替換jar包->重啟服務

也可以docker build和docker run用docker來發布。不過感覺docker會損失一些性能吧。。。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/83589.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/83589.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/83589.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

MATLAB 中調整超參數的系統性方法

在深度學習中&#xff0c;超參數調整是提升模型性能的關鍵環節。以下是 MATLAB 中調整超參數的系統性方法&#xff0c;涵蓋核心參數、優化策略及實戰案例&#xff1a; 一、關鍵超參數及其影響 超參數作用典型范圍學習率 (Learning Rate)控制參數更新步長&#xff0c;影響收斂…

根目錄0xa0屬性對應的Ntfs!_SCB中的FileObject是什么時候被建立的----NTFS源代碼分析--重要

根目錄0xa0屬性對應的Ntfs!_SCB中的FileObject是什么時候被建立的 第一部分&#xff1a; 0: kd> g Breakpoint 9 hit Ntfs!ReadIndexBuffer: f7173886 55 push ebp 0: kd> kc # 00 Ntfs!ReadIndexBuffer 01 Ntfs!FindFirstIndexEntry 02 Ntfs!NtfsUpda…

(二)stm32使用4g模塊(移遠ec800k)連接mqtt

下面代碼是隨手寫的&#xff0c;沒有嚴謹測試僅供參考測試 uint8_t msgBuf[200]{"msg from mcu"}; uint8_t txBuf[250]{0}; uint16_t msgid0; uint16_t mqttTaskState0; uint16_t t100msCount0; uint8_t sendFlag10; uint8_t sendFlag20; void t100msTask1(void) { …

哈希表入門:用 C 語言實現簡單哈希表(開放尋址法解決沖突)

目錄 一、引言 二、代碼結構與核心概念解析 1. 數據結構定義 2. 初始化函數 initList 3. 哈希函數 hash 4. 插入函數 put&#xff08;核心邏輯&#xff09; 開放尋址法詳解&#xff1a; 三、主函數驗證與運行結果 1. 測試邏輯 2. 運行結果分析 四、完整代碼 五、優…

Windows下運行Redis并設置為開機自啟的服務

下載Redis-Windows 點擊redis-windows-7.4.0下載鏈接下載Redis 解壓之后得到如下文件 右鍵install_redis.cmd文件&#xff0c;選擇在記事本中編輯。 將這里改為redis.windows.conf后保存&#xff0c;退出記事本&#xff0c;右鍵后選擇以管理員身份運行。 在任務管理器中能夠…

2025年ESWA SCI1區TOP,改進成吉思汗鯊魚算法MGKSO+肝癌疾病預測,深度解析+性能實測

目錄 1.摘要2.成吉思汗鯊魚優化算法GKSO原理3.MGKSO4.結果展示5.參考文獻6.代碼獲取7.算法輔導應用定制讀者交流 1.摘要 本文針對肝癌&#xff08;HCC&#xff09;早期診斷難題&#xff0c;提出了一種基于改進成吉思汗鯊魚優化算法&#xff08;MGKSO&#xff09;的計算機輔助診…

李沐-動手學深度學習:RNN

1.RNN從零開始實現 import math import torch from torch import nn from torch.nn import functional as F from d2l import torch as d2l#8.3.4節 #batch_size&#xff1a;每個小批量中子序列樣本的數目&#xff0c;num_steps&#xff1a;每個子序列中預定義的時間步數 #loa…

【C++ Qt】多元素控件(ListWidget、TableWidget、TreeWidget)

每日激勵&#xff1a;“不設限和自我肯定的心態&#xff1a;I can do all things。 — Stephen Curry” 緒論?&#xff1a; 本章將通過代碼示例詳細介紹了Qt中QListWidget、QTableWidget和QTreeWidget三種多元素控件的使用方法與核心功能&#xff0c;涵蓋列表的增刪操作、表格…

基于TI DSP控制的光伏逆變器最大功率跟蹤mppt

基于TI DSP&#xff08;如TMS320F28335&#xff09;控制的光伏逆變器最大功率跟蹤&#xff08;MPPT&#xff09;程序通常涉及以下幾個關鍵部分&#xff1a;硬件電路設計、MPPT算法實現、以及DSP的編程。以下是基于TI DSP的光伏逆變器MPPT程序的一個示例&#xff0c;主要采用擾動…

Python實現P-PSO優化算法優化卷積神經網絡CNN回歸模型項目實戰

說明&#xff1a;這是一個機器學習實戰項目&#xff08;附帶數據代碼文檔&#xff09;&#xff0c;如需數據代碼文檔可以直接到文章最后關注獲取。 1.項目背景 隨著人工智能和深度學習技術的快速發展&#xff0c;卷積神經網絡&#xff08;CNN&#xff09;在圖像分類、目標檢測…

計算機視覺入門:OpenCV與YOLO目標檢測

計算機視覺入門&#xff1a;OpenCV與YOLO目標檢測 系統化學習人工智能網站&#xff08;收藏&#xff09;&#xff1a;https://www.captainbed.cn/flu 文章目錄 計算機視覺入門&#xff1a;OpenCV與YOLO目標檢測摘要引言技術原理對比1. OpenCV&#xff1a;傳統圖像處理與機器學…

【PCB工藝】繪制原理圖 + PCB設計大綱:最小核心板STM32F103ZET6

繪制原理圖和PCB布線之間的聯系,在繪制原理圖的時候,考慮到后續的PCB設計+嵌入式軟件代碼的業務邏輯,需要在繪制原理圖之初涉及到 硬件設計流程的前期規劃。在嵌入式系統開發中,原理圖設計是整個項目的基礎,直接影響到后續的: PCB 布線效率和質量 ☆☆☆重點嵌入式軟件的…

Centos系統搭建主備DNS服務

目錄 一、主DNS服務器配置 1.安裝 BIND 軟件包 2.配置主配置文件 3.創建正向區域文件 4.創建區域數據文件 5.檢查配置語法并重啟服務 二、從DNS服務配置 1.安裝 BIND 軟件包 2.配置主配置文件 3.創建緩存目錄 4.啟動并設置開機自啟 一、主DNS服務器配置 1.安裝 BIN…

LeetCode[513]找樹左下角的值

思路&#xff1a; 找樹左下角的值&#xff0c;有可能這個值不是左葉子節點&#xff0c;可能是右葉子節點&#xff0c;但怎么說這個值都是葉子節點&#xff0c;首先這道題用層序遍歷的思路比如什么隊列和BSF的遞歸都可以做&#xff0c;但我比較喜歡用純遞歸來搞&#xff0c;因為…

ubuntu20.04.5--arm64版上使用node集成java

ubuntu20.04.5arm上使用node集成java #ssh&#xff0c;可選 sudo apt update sudo apt install openssh-server sudo systemctl status ssh sudo systemctl enable ssh sudo systemctl enable --now ssh #防火墻相關&#xff0c;可選 sudo ufw allow ssh sudo ufw allow 22…

更新 Docker 容器中的某一個文件

&#x1f504; 如何更新 Docker 容器中的某一個文件 以下是幾種在 Docker 中更新單個文件的常用方法&#xff0c;適用于不同場景。 ? 方法一&#xff1a;使用 docker cp 拷貝文件到容器中&#xff08;最簡單&#xff09; &#x1f9f0; 命令格式&#xff1a; docker cp <…

JavaEE->多線程:定時器

定時器 約定一個時間&#xff0c;時間到了&#xff0c;執行某個代碼邏輯&#xff08;進行網絡通信時常見&#xff09; 客戶端給服務器發送請求 之后就需要等待 服務器的響應&#xff0c;客戶端不可能無限的等&#xff0c;需要一個最大的期限。這里“等待的最大時間”可以用定時…

html基礎01:前端基礎知識學習

html基礎01&#xff1a;前端基礎知識學習 1.個人建立打造 -- 之前知識的小總結1.1個人簡歷展示1.2簡歷信息填寫頁面 1.個人建立打造 – 之前知識的小總結 1.1個人簡歷展示 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8&qu…

uniapp 鍵盤頂起頁面問題

關于uniapp中鍵盤頂起頁面的問題。這是一個在移動應用開發中常見的問題&#xff0c;特別是當輸入框位于頁面底部時&#xff0c;鍵盤彈出會頂起整個頁面&#xff0c;導致頁面布局錯亂。 pages.json 文件內&#xff0c;在需要處理軟鍵盤的頁面添加 softinputMode 配置&#xff1…

使用 React Native 開發鴻蒙運動健康類應用的??高頻易錯點總結??

&#x1f6a8; ??一、環境配置與工程初始化?? ??1. Node.js 版本沖突?? ??現象??&#xff1a;DevEco Studio 報錯 Unsupported Node version&#xff08;鴻蒙 RN 依賴 Node ≥18&#xff09;。??解決??&#xff1a; nvm install 18.16.0 # 強制鎖定版本 ech…