www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 技術(shù)學(xué)院 > 技術(shù)前線
[導(dǎo)讀]Spring是一個(gè)功能全面的 Java開發(fā)框架 ,提供依賴注入、面向切面編程、事務(wù)管理、數(shù)據(jù)訪問等模塊化支持,開發(fā)者可根據(jù)需求選擇組件。Spring Boot則是基于Spring的擴(kuò)展,專注于簡(jiǎn)化配置流程,通過自動(dòng)配置和約定優(yōu)于配置的原則,減少手動(dòng)配置工作量,快速構(gòu)建獨(dú)立生產(chǎn)級(jí)應(yīng)用。

Spring是一個(gè)一站式的輕量級(jí)的java開發(fā)框架,核心是控制反轉(zhuǎn)(IOC)和面向切面(AOP),針對(duì)于開發(fā)的WEB層(SpringMvc)、業(yè)務(wù)層(Ioc)、持久層(JdbcTemplate)等都提供了多種配置解決方案和基礎(chǔ)的架構(gòu)支持。

它包含一些很好的功能,如依賴注入和開箱即用的模塊,如:Spring JDBC、Spring MVC、Spring Security、Spring AOP、Spring ORM、Spring Test。

這些模塊可以大大縮短應(yīng)用程序的開發(fā)時(shí)間。例如,在Java Web開發(fā)的早期階段,我們需要編寫大量的重復(fù)代碼來將記錄插入到數(shù)據(jù)源中。

但是通過使用Spring JDBC模塊的JDBCTemplate,我們可以將它簡(jiǎn)化為只需幾個(gè)簡(jiǎn)單配置或者幾行代碼。

SpringBoot框架相對(duì)于SpringMvc框架來說,更專注于開發(fā)微服務(wù)后臺(tái)接口,當(dāng)然也通過Template等支持前端開發(fā),同時(shí)遵循默認(rèn)優(yōu)于配置,簡(jiǎn)化了插件配置流程,不需要配置xml,相對(duì)springmvc,大大簡(jiǎn)化了配置流程。

以下是Spring Boot中的一些功能:

通過starter這一個(gè)依賴,以簡(jiǎn)化構(gòu)建和復(fù)雜的應(yīng)用程序配置。

可以直接main函數(shù)啟動(dòng),嵌入式web服務(wù)器,避免了應(yīng)用程序部署的復(fù)雜性,Metrics度量,Helth check健康檢查和外部化配置。

盡可能的自動(dòng)化配置Spring功能。

Spring 與 Spring Boot 的核心區(qū)別主要體現(xiàn)在以下三方面:

定位與目標(biāo)

Spring是一個(gè)功能全面的 Java開發(fā)框架 ,提供依賴注入、面向切面編程、事務(wù)管理、數(shù)據(jù)訪問等模塊化支持,開發(fā)者可根據(jù)需求選擇組件。Spring Boot則是基于Spring的擴(kuò)展,專注于簡(jiǎn)化配置流程,通過自動(dòng)配置和約定優(yōu)于配置的原則,減少手動(dòng)配置工作量,快速構(gòu)建獨(dú)立生產(chǎn)級(jí)應(yīng)用。

項(xiàng)目初始化

使用Spring需手動(dòng)創(chuàng)建Maven/Gradle項(xiàng)目,添加多個(gè)依賴(如spring-web、spring-mvc等),并配置web.xml文件。Spring Boot僅需添加spring-boot-starter-web依賴,無需XML配置文件,簡(jiǎn)化初始化流程。 ?34核心特性

Spring通過控制反轉(zhuǎn)(IoC)和依賴注入(DI)實(shí)現(xiàn)模塊化開發(fā),需手動(dòng)配置組件。Spring Boot沿用這些核心思想,但通過內(nèi)嵌服務(wù)器(如Tomcat)、自動(dòng)配置默認(rèn)值等方式,進(jìn)一步降低部署門檻,使開發(fā)者更專注于業(yè)務(wù)邏輯而非基礎(chǔ)設(shè)施配置。

Spring Boot與Spring有什么區(qū)別?

Spring Boot是基于Spring的框架,旨在簡(jiǎn)化Spring應(yīng)用的初始搭建及開發(fā)過程。主要區(qū)別包括:

1、自動(dòng)配置: Spring Boot自動(dòng)配置項(xiàng)目,簡(jiǎn)化了配置過程。

2、獨(dú)立運(yùn)行: Spring Boot應(yīng)用可以獨(dú)立運(yùn)行,不需要外部Servlet容器。

3、內(nèi)嵌服務(wù)器: 提供內(nèi)嵌的Tomcat、Jetty或Undertow服務(wù)器。

4、無需XML配置: Spring Boot減少了對(duì)XML配置的依賴,更多使用注解和Java配置。

5、微服務(wù)支持: 為構(gòu)建微服務(wù)提供了強(qiáng)大的支持。

首先 在認(rèn)識(shí)一個(gè)東西之前我們先來試著回答三個(gè)經(jīng)典的問題問題,是什么?為什么?怎么樣?

一.SpringBoot是什么?

在介紹 SpringBoot 之前我們首先來簡(jiǎn)單介紹一下 Spring。Spring 是誕生于2002年的 Java 開發(fā)框架,可以說已經(jīng)成為 Java 開發(fā)的事實(shí)標(biāo)準(zhǔn)。所謂事實(shí)標(biāo)準(zhǔn)就是雖然 Java 官方?jīng)]有說它就是開發(fā)標(biāo)準(zhǔn),但是在當(dāng)前 Java 開發(fā)的眾多項(xiàng)目中,當(dāng)我們談到產(chǎn)品級(jí)的 Java 項(xiàng)目的時(shí)候,大多都是基于 Spring 或者應(yīng)用了 Spring 特性的。

Spring 基于 IOC 和 AOP 兩個(gè)特性對(duì) Java 開發(fā)本身進(jìn)行了大大的簡(jiǎn)化。但是一個(gè)大型的項(xiàng)目需要集成很多其他組件,比如一個(gè) WEB 項(xiàng)目,至少要集成 MVC 框架、Tomcat 這種 WEB 容器、日志框架、ORM框架,連接數(shù)據(jù)庫要選擇連接池吧……使用 Spring 的話每集成一個(gè)組件都要去先寫它的配置文件,比較繁瑣且容易出錯(cuò)。

然后就有了SpringBoot。

Spring Boot 是由 Pivotal 團(tuán)隊(duì)提供的全新框架,2014 年 4 月發(fā)布 Spring Boot 1.0 2018 年 3 月 Spring Boot 2.0發(fā)布。它是對(duì)spring的進(jìn)一步封裝,其設(shè)計(jì)目的是用來簡(jiǎn)化 Spring 應(yīng)用的初始搭建以及開發(fā)過程。怎么簡(jiǎn)化的呢?就是通過封裝、抽象、提供默認(rèn)配置等方式讓我們更容易使用。

SpringBoot 基于 Spring 開發(fā)。SpringBoot 本身并不提供 Spring 框架的核心特性以及擴(kuò)展功能,也就是說,它并不是用來替代 Spring 的解決方案,而是和 Spring 框架緊密結(jié)合用于提升 Spring 開發(fā)者體驗(yàn)的工具。

關(guān)于 SpringBoot 有一句很出名的話就是約定大于配置。采用 Spring Boot 可以大大的簡(jiǎn)化開發(fā)模式,它集成了大量常用的第三方庫配置,所有你想集成的常用框架,它都有對(duì)應(yīng)的組件支持,例如 Redis、MongoDB、Jpa、kafka,Hakira 等等。SpringBoot 應(yīng)用中這些第三方庫幾乎可以零配置地開箱即用,大部分的 SpringBoot 應(yīng)用都只需要非常少量的配置代碼,開發(fā)者能夠更加專注于業(yè)務(wù)邏輯。

二.SpringBoot為什么出現(xiàn)?

為什么會(huì)產(chǎn)生 SpringBoot 呢?

剛才說 SpringBoot 簡(jiǎn)化了基于 Spring 開發(fā),這只是最直觀的一方面,事實(shí)上 SpringBoot 的誕生有它所處的大時(shí)代背景這個(gè)原因在里面的,那就是微服務(wù),這也是談 SpringBoot 必談微服務(wù)的原因。

2014年一個(gè)叫 Martin Fowler (同時(shí)也是經(jīng)典著作《重構(gòu):改善既有代碼的設(shè)計(jì)》一書的作者)發(fā)表了一篇關(guān)于微服務(wù)的博客,比較形象生動(dòng)地介紹了什么是微服務(wù),然后微服務(wù)才慢慢被人所熟知。他說微服務(wù)其實(shí)是一種架構(gòu)風(fēng)格,我們?cè)陂_發(fā)一個(gè)應(yīng)用的時(shí)候這個(gè)應(yīng)用應(yīng)該是由一組小型服務(wù)組成,每個(gè)小型服務(wù)都運(yùn)行在自己的進(jìn)程內(nèi);小服務(wù)之間通過HTTP的方式進(jìn)行互聯(lián)互通。和微服務(wù)相對(duì)應(yīng)的就是我們之前的,單體應(yīng)用,就是大名鼎鼎的 all in one 的風(fēng)格。這種風(fēng)格把所有的東西都寫在一個(gè)應(yīng)用里面,比如我們熟悉的OA,CRM,ERP系統(tǒng),所有的頁面,所有的代碼都放在一起,打成打成一個(gè)war包,然后把war包放在Tomcat容器中運(yùn)行。

Spring Boot本身并不提供Spring框架的核心特性以及擴(kuò)展功能,只是用于快速、敏捷地開發(fā)新一代基于Spring 框架的應(yīng)用程序。同時(shí)它集成了大量常用的第三方庫配置(如 Redis、MongoDB、JP A、RabbitMQ、Quartz等),Spring Boot 應(yīng)用中這些第三方庫幾乎可以零配置進(jìn)行開箱即用,大部分的Spring Boot應(yīng)用都只需要非常少量的配置代碼,開發(fā)者能夠更加專注于業(yè)務(wù)邏輯。

這種傳統(tǒng)web開發(fā)的架構(gòu)模式當(dāng)然也有它的優(yōu)勢(shì),比如它測(cè)試部署比較簡(jiǎn)單,因?yàn)椴簧婕暗蕉鄠€(gè)服務(wù)的互聯(lián)互調(diào),只需要把一個(gè)包上傳到服務(wù)器就行了,可以說是一人吃飽全家不餓。同樣也不會(huì)給運(yùn)維帶來麻煩,方便水平擴(kuò)展,只需要又把相同的應(yīng)用復(fù)制多份放在不同的服務(wù)器中就達(dá)到了擴(kuò)展的目的。

單體應(yīng)用的的缺點(diǎn)也顯而易見,容易牽一發(fā)而動(dòng)全身,比如要更改一個(gè)小小的功能,就可能需要重新部署整個(gè)應(yīng)用。當(dāng)然,更大的挑戰(zhàn)就是日益增長(zhǎng)的用戶需求。

三:為什么學(xué)習(xí) Spring Boot

使用 Spring Boot 開發(fā)項(xiàng)目,有以下幾方面優(yōu)勢(shì)∶

Spring Boot 使開發(fā)變得簡(jiǎn)單,提供了豐富的解決方案,快速集成各種解決方案提升開發(fā)效率。

Spring Boot 使配置變得簡(jiǎn)單,提供了豐富的 Starters,集成主流開源產(chǎn)品往往只需要簡(jiǎn)單的配置即可。

Spring Boot 使部署變得簡(jiǎn)單,其本身內(nèi)嵌啟動(dòng)容器,僅僅需要一個(gè)命令即可啟動(dòng)項(xiàng)目,結(jié)合Jenkins、Docker 自動(dòng)化運(yùn)維非常容易實(shí)現(xiàn)。

Spring Boot 使監(jiān)控變得簡(jiǎn)單,自帶監(jiān)控組件,使用 Actuator輕松監(jiān)控服務(wù)各項(xiàng)狀態(tài)。

從軟件發(fā)展的角度來講,越簡(jiǎn)單的開發(fā)模式越流行,簡(jiǎn)單的開發(fā)模式解放出更多生產(chǎn)力,讓開發(fā)人員可以避免將精力耗費(fèi)在各種配置、語法所設(shè)置的門檻上,從而更專注于業(yè)務(wù)。這點(diǎn)上,Spring Boot已盡可能地簡(jiǎn)化了應(yīng)用開發(fā)的門檻。Spring Boot 所集成的技術(shù)棧,涵蓋了各大互聯(lián)網(wǎng)公司的主流技術(shù),跟著 Spring Boot 的路線去學(xué)習(xí),基本可以了解國(guó)內(nèi)外互聯(lián)網(wǎng)公司的技術(shù)特點(diǎn)。

四:Spring Boot 特點(diǎn):

1. 獨(dú)立運(yùn)行的 Spring 項(xiàng)目

Spring Boot 可以以 jar 包的形式獨(dú)立運(yùn)行,Spring Boot 項(xiàng)目只需通過命令“ java–jar xx.jar” 即可運(yùn)行。

2. 內(nèi)嵌 Servlet 容器

Spring Boot 使用嵌入式的 Servlet 容器(例如 Tomcat、Jetty 或者 Undertow 等),應(yīng)用無需打成 WAR 包 。

3. 提供 starter 簡(jiǎn)化 Maven 配置

Spring Boot 提供了一系列的“starter”項(xiàng)目對(duì)象模型(POMS)來簡(jiǎn)化 Maven 配置。

4. 提供了大量的自動(dòng)配置

Spring Boot 提供了大量的默認(rèn)自動(dòng)配置,來簡(jiǎn)化項(xiàng)目的開發(fā),開發(fā)人員也通過配置文件修改默認(rèn)配置。

5. 自帶應(yīng)用監(jiān)控

Spring Boot 可以對(duì)正在運(yùn)行的項(xiàng)目提供監(jiān)控。

6. 無代碼生成和 xml 配置

Spring Boot 不需要任何 xml 配置即可實(shí)現(xiàn) Spring 的所有配置。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉