spring、springmvc、springboot框架的介紹

前言

我們已經學過Spring,SpringMVC,SpringBoot了,那這三者之間有沒有聯系或者區別呢?

spring是一個一站式的輕量級java開發的框架,那我們剛開始使用spring的時候,是需要配置很多的配置文件以及繁瑣的過程才可以使用,那對于程序員來說開發就比較頭疼了,spring的核心主要是控制反轉(IOC)和面向切面(AOP)

springMVC是在spring框架基礎之上的一個MVC框架,主要處理的就是web開發路徑的映射以及視圖渲染,屬于spring框架中WEB層開發的一部分

springBoot框架是對spring框架進行了配置的簡化,相對于spring MVC來說,更專注于開發微服務后臺接口,不開發前端視圖,springBoot是基于spring框架的快速開發工具,能夠自動配置spring和第三方庫,簡化了spring開發和部署,springboot是spring框架的擴展,springboot使用spring的核心功能,但是更加簡單、快速、靈活,提供了自動化配置,嵌入式web服務器,監控,健康檢查,目標就是快速創建spring應用,并盡可能的減少配置

下面我們來了解一下springboot常見的面試題

1、Spring Boot 如何實現多環境配置?

Spring Boot 可以通過多個配置文件來支持多環境配置,例如
application-dev.properties、
application-test.properties、
application-prod.properties 等。
開發人員可以在不同的配置文件中定義不同的配置項,然后在 application.properties 或 application.yml 中指定當前環境的配置文件名,例如 spring.profiles.active=dev。這樣在啟動應用時,Spring Boot 會自動加載對應的配置文件,并使用其中的配置項。

2、Spring Boot 中的 Starter 是什么?

Spring Boot Starter 是一系列預定義的依賴關系,每個 Starter 都包含了一組相關的依賴關系,可以快速集成一個特定的功能模塊,如 Spring Boot Starter Web、Spring Boot Starter Data JPA、Spring Boot Starter Test 等。

3、Spring Boot 如何實現熱部署?

在項目中引入 Spring Boot DevTools依賴,并在 IDE 中開啟自動重啟,這樣在修改代碼后,應用會自動重啟,從而實現熱部署

4、Spring Boot 如何自動配置?

讀取 classpath 下的 META-INF/spring.factories 文件,該文件中定義了一系列自動配置類,Spring Boot 會自動掃描這些類并自動配置相應的組件。如果需要定制配置,可以使用 application.properties 或 application.yml 文件進行覆蓋。?

5、什么是 Spring Boot?

Spring Boot 是一個基于 Spring 框架,并提供自動化配置、嵌入式 Web 服務器、監控、健康檢查等功能的框架。其目標是快速創建 Spring 應用,并盡可能地減少配置。

6、SpringBoot如何處理事務?

Spring Boot 提供了非常方便的方式來整合事務,開發者只需要添加相應的依賴,然后在需要事務管理的方法上添加 @Transactional 注解即可。
以下是整合事務的步驟:
添加 Spring Boot Starter JDBC 依賴,這兩個依賴中都包含了 Spring 的事務管理功能。
在 application.properties 或 application.yml 中配置數據源的信息,如數據庫 URL、用戶名、密碼等。
在需要事務管理的方法上添加 @Transactional 注解,表示該方法需要被 Spring 事務管理器所管理。

7、Spring Boot如何處理配置文件?

Spring Boot使用application.properties或application.yml文件來進行配置,這些文件可以放在classpath下的/config目錄中,或者在命令行參數中指定。Spring Boot支持很多種配置方式,如使用環境變量、屬性文件、命令行參數等。

8、Spring Boot中的自動配置是什么?

Spring Boot中的自動配置是指根據應用程序的依賴自動配置Spring和第三方庫的行為。當應用程序引入某個庫時,Spring Boot會自動配置相關的Bean和設置,以使這個庫能夠在應用程序中使用。

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

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

相關文章

狀態機實現雙擊、短按、長按等按鍵識別檢測算法

1、按鍵識別算法的作用 按鍵識別算法在不同的技術和應用背景下有不同的作用,但其核心目標都是準確、可靠地檢測和區分用戶通過物理或虛擬按鍵所執行的操作。按鍵識別算法在各類電子設備及系統中起到至關重要的作用,它確保了人機交互的有效性和準確性&…

Vue前端+快速入門【詳解】

目錄 1.Vue概述 2. 快速入門 3. Vue指令 4.表格信息案例 5. 生命周期 1.Vue概述 1.MVVM思想 原始HTMLCSSJavaScript開發存在的問題:操作麻煩,耦合性強 為了實現html標簽與數據的解耦,前端開發中提供了MVVM思想:即Model-Vi…

Mysql-主從架構篇(一主多從,半同步案例搭建)

主從架構 主從架構有什么用? 通過搭建MySQL主從集群,可以緩解MySQL的數據存儲以及訪問的壓力。 數據安全(主備):給主服務增加一個數據備份。基于這個目的,可以搭建主從架構,或者也可以基于主…

GO語言學習筆記(與Java的比較學習)(九)

讀寫數據 讀取用戶的輸入 最簡單的辦法是使用 fmt 包提供的 Scan 和 Sscan 開頭的函數。 Scanln 掃描來自標準輸入的文本,將空格分隔的值依次存放到后續的參數內,直到碰到換行。Scanf 與其類似,除了 Scanf 的第一個參數用作格式字符串&…

大數據開發(Java面試真題-卷三)

大數據開發(Java面試真題) 1、簡要介紹以下JVM有幾種垃圾收集器?2、Java中Synchronized的底層原理是什么?3、Java String為什么是不可變的?為什么要設計成不可變?4、泛型?5、常用的反射方法&…

深入Java日志框架及其最佳實踐

概述 在Java應用開發中,日志框架是確保應用穩定性和可觀察性的關鍵組件。它幫助開發者記錄應用的行為、診斷問題,并監控系統的健康狀況。隨著Java生態系統的不斷發展,各種日志框架也應運而生,各有特點和優勢。本文將詳細探討幾個…

redis進階(一)

文章目錄 前言一、Redis中的對象的結構體如下:二、壓縮鏈表三、跳躍表 前言 Redis是一種key/value型數據庫,其中,每個key和value都是使用對象表示的。 一、Redis中的對象的結構體如下: /** Redis 對象*/ typedef struct redisO…

c# .net8 香橙派orangepi + hc-04藍牙 實例

這些使用c# .net8開發,硬件 香橙派 orangepi 3lts和 hc-04藍牙 使用場景:可以通過這個功能,手機連接orangepi進行wifi等參數配置 硬件: 1、帶USB口的linux開發板orangepi 2、USB 轉TTL 中轉接藍牙(HC-04) 某寶上買…

Vue的響應式原理是如何實現的

Vue的響應式原理主要**基于JavaScript的Object.defineProperty方法實現**。具體如下: 1. 數據劫持(Data Hijacking) Vue在初始化時,會遍歷data對象中的所有屬性,并使用Object.defineProperty將這些屬性轉換為getter/s…

Flink:Temporal Table Function(時態表函數)和 Temporal Join

博主歷時三年精心創作的《大數據平臺架構與原型實現:數據中臺建設實戰》一書現已由知名IT圖書品牌電子工業出版社博文視點出版發行,點擊《重磅推薦:建大數據平臺太難了!給我發個工程原型吧!》了解圖書詳情,…

AR時間序列模型

AR時間序列模型(AutoRegressive Time Series Model)是一種用于分析和預測時間序列數據的統計模型。該模型假設未來的觀測值與過去的觀測值相關,且該相關性可以通過線性回歸來描述。 AR模型的基本思想是將當前時刻的觀測值表示為過去幾個時刻…

設計模式(十五)狀態模式

請直接看原文:設計模式系列 ------------------------------------------------------------------------------------------------------------------------------- 前言 建議在閱讀本文前先閱讀設計模式(十一)策略模式這篇文章,雖說狀態…

java.sqlrecoverableexception: io error: the network adapter could not establ

數據庫相關學習資料下載地址: 數據庫相關資料合集 Java SQLRecoverableException: IO Error: The Network Adapter Could Not Establish Connection 在進行Java開發中,經常會遇到與數據庫進行交互的情況。然而,有時候我們可能會遇到java.sq…

Redis過期刪除策略

1、定時刪除: 一旦鍵過期就立即從內存中刪除,節省內存空間,但刪除過程會占用大量CPU時間,可能影響服務器的響應時間和吞吐量。 2、惰性刪除: 并不會立即從內存中刪除過期鍵,而是在需要訪問時才會檢查是否…

【MATLAB】MVMD_ MFE_SVM_LSTM 神經網絡時序預測算法

有意向獲取代碼,請轉文末觀看代碼獲取方式~也可轉原文鏈接獲取~ 1 基本定義 MVMD_MFE_SVM_LSTM神經網絡時序預測算法結合了多變量多尺度分解(MVMD)、多尺度特征提取(MFE)、支持向量機(SVM)和長…

Python爬蟲之爬取并下載嗶哩嗶哩視頻

親自使用過,太好用了 # 導入requests模塊,模擬發送請求 import requests # 導入json import json # 導入re import re# 定義請求頭 headers {Accept: */*,Accept-Language: en-US,en;q0.5,User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6…

小米消息隊列的選型與實踐

之前寫了一篇關于消息隊列的文章:《消息隊列介紹與對比》,本文主要介紹消息隊列在實際工作中的使用情況(截止到2023年,因為我2023年離職了,后續的情況不了解了,哈哈)。 市面上的多種消息隊列都有…

node問題: command not found: nodemon

如何安裝并使用 nodemon npm i -g nodemon 問題與解決方案: 問題:zsh: command not found: nodemon 解決方案: 在你的 package.json 中加入: "scripts": {"auto": "npx nodemon server.js" }…

單例模式及應用場景

如果希望自己的代碼更優雅、可維護性更高以及更簡潔,往往離不開設計模式這一解決方案。 在JS設計模式中,最核心的思想:封裝變化(將變與不變分離,確保變化的部分靈活,不變的部分穩定)。 那么來…

[嵌入式系統-36]:龍芯1B 開發學習套件 -5- PMON常見命令

目錄 0. 開機時按c鍵進入pmon模式 (自啟動模式時) 1、幫助命令 h 2、顯示設備信息 devls 3.重啟:reboot 4、設置環境變量 set/unset 5.查詢環境變量:env 6.網絡設置相關命令: ①設置IP:ifconfig&am…