亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

目錄
Spring Boot的背景
Spring Boot的特性
Spring Boot的核心元件
Spring Boot的優(yōu)點(diǎn)
為什麼學(xué)習(xí)Spring Boot
什麼是“約定優(yōu)於配置”
Spring、Spring Boot和Spring Cloud的關(guān)係
首頁 Java Java基礎(chǔ) spring boot是什麼?

spring boot是什麼?

Nov 29, 2022 am 11:46 AM
spring spring boot

Spring Boot是由Pivotal團(tuán)隊(duì)提供的基於Spring的框架,該框架使用了特定的方式來進(jìn)行配置,使開發(fā)人員不再需要定義樣板化的配置。 Spring Boot整合了絕大部分目前流行的開發(fā)框架,就像Maven整合了所有的JAR套件一樣,Spring Boot整合了幾乎所有的框架,使得開發(fā)者能快速建立Spring專案。

spring boot是什麼?

本教學(xué)操作環(huán)境:windows7系統(tǒng)、java8版、DELL G3電腦。

Spring Boot 是由 Pivotal 團(tuán)隊(duì)提供的基於 Spring 的全新框架,旨在簡化 Spring 應(yīng)用的初始搭建和開發(fā)流程。該框架使用了特定的方式來進(jìn)行配置,使開發(fā)人員不再需要定義樣板化的配置。

Spring 官網(wǎng)給的定義是:Spring Boot 是所有基於 Spring 開發(fā)專案的起點(diǎn)。 Spring Boot 整合了絕大部分目前流行的開發(fā)框架,就像 Maven 整合了所有的 JAR 套件一樣,Spring Boot 整合了幾乎所有的框架,使得開發(fā)者能快速建立 Spring 專案。

Spring Boot 的核心設(shè)計(jì)想法是「約定優(yōu)於配置」?;哆@個設(shè)計(jì)原則,Spring Boot 大大簡化了專案和框架的配置。例如在使用 Spring 開發(fā) Web 專案時,我們需要設(shè)定 web.xml、Spring 和 MyBatis 等,也需要將它們整合在一起。而使用 Spring Boot 一切將變得極其簡單,它採用了大量的預(yù)設(shè)配置來簡化這些檔案的配置過程,只需引入對應(yīng)的 Starters(啟動器)。

Spring Boot 可以建立一切。設(shè)計(jì)它就是為了使用最少的配置,以最快的速度來啟動和運(yùn)行 Spring 專案。

Spring Boot的背景

多年來,隨著 Spring 的快速發(fā)展,新功能不斷增加,Spring 變得越來越複雜。

透過訪問Spring 官網(wǎng)就可以看到Spring 的所有子項(xiàng)目和組件框架,如此多的子項(xiàng)目和組件使得Spring 逐漸笨重起來,這顯然已經(jīng)無法適應(yīng)雲(yún)端運(yùn)算和微服務(wù)時代的發(fā)展趨勢。

於是 Spring Boot 應(yīng)運(yùn)而生。 Spring Boot 建立在Spring 基礎(chǔ)之上,遵循「約定優(yōu)於配置」的原則,避免了創(chuàng)建專案或框架時必須做的繁雜配置,幫助開發(fā)者以最少的工作量,更加簡單、方便地使用現(xiàn)有Spring中的所有功能組件。

Spring Boot的特性

Spring Boot 的一系列特性使得微服務(wù)架構(gòu)的落地變得非常容易,對於目前眾多的技術(shù)棧,Spring Boot 是Java領(lǐng)域微服務(wù)架構(gòu)的最優(yōu)落地技術(shù)。

下圖所示為Spring Boot 的一些特性:

spring boot是什麼?
圖1 Sprint Boot 的特性

Spring Boot的核心元件

Spring Boot 官方提供了許多當(dāng)前流行的基礎(chǔ)功能元件的封裝,命名一般以spring-boot-starter 開頭,例如spring-boot-starter-quartz 定時任務(wù)元件和spring-boot-starter-thymeleaf 頁面模板引擎等。

另外,由於Spring Boot 的流行,許多第三方中間件也依照Spring Boot 的規(guī)範(fàn)提供了針對Spring Boot 專案的Starters(啟動器),一般以元件名稱開頭,例如MyBatis 針對Spring Boot 提供的組件包mybatis-spring-boot-starter。

Spring Boot 的核心元件如下圖所示:

spring boot是什麼?
#圖 2 Spring Boot的核心元件

Spring Boot的優(yōu)點(diǎn)

Spring Boot 繼承了Spring 一貫的優(yōu)點(diǎn)和特性,同時增加了一些新功能和新特性,這讓Spring Boot 非常容易上手,也讓程式設(shè)計(jì)變得更加簡單。

總結(jié)起來Spring Boot有以下幾個優(yōu)點(diǎn):
  • 遵循「約定優(yōu)於配置」的原則,使用 Spring Boot 只需要很少的配置或使用預(yù)設(shè)的配置。
  • 使用 JavaConfig,避免使用 XML 的煩瑣。
  • 提供 Starters(啟動器),簡化 Maven 配置,避免依賴衝突。
  • 提供內(nèi)嵌 Servlet 容器,可選擇內(nèi)嵌 Tomcat、Jetty 等容器,不需要單獨(dú)的 Web 伺服器。這意味著不再需要啟動 Tomcat 或其他任何中間件。
  • 提供了一系列專案中常見的非功能特性,如安全監(jiān)控、應(yīng)用監(jiān)控、健康檢測等。
  • 與雲(yún)端運(yùn)算、微服務(wù)的天然整合。

從軟體發(fā)展的角度來講,越簡單的開發(fā)模式越流行,越有活力,其可以讓開發(fā)者將精力集中在業(yè)務(wù)邏輯本身,提高軟體開發(fā)效率。 Spring Boot 就是盡可能簡化應(yīng)用程式開發(fā)的門檻,讓應(yīng)用程式開發(fā)、測試、部署變得更簡單。

為什麼學(xué)習(xí)Spring Boot

最近幾年,Spring 生態(tài)圈最受歡迎的技術(shù)框架莫過於 Spring Boot 和 Spring Cloud。目前,各企業(yè)都在推動微服務(wù)技術(shù)架構(gòu)的落地,將一個複雜的應(yīng)用拆分成多個小的獨(dú)立模組,分開部署,互不干擾,從而達(dá)到鬆散耦合、提高開發(fā)效率和降低運(yùn)維成本的目的。

Spring Boot 作為微服務(wù)框架的基礎(chǔ)被越來越多地應(yīng)用於企業(yè)級開發(fā)中,它是 Spring Cloud 的基礎(chǔ)。要學(xué)習(xí) Spring Cloud,就必須了解 Spring Boot 框架的架構(gòu)和設(shè)計(jì)理念。

Spring Boot 是 Spring 生態(tài)下的一個子項(xiàng)目,用於快速、敏捷地開發(fā)新一代基於 Spring 框架的應(yīng)用程式。同時,它將目前各種比較成熟的服務(wù)框架和第三方元件組合起來(如 Redis、MongoDB、JPA、RabbitMQ、Quartz 等),按照「約定優(yōu)於配置」的設(shè)計(jì)想法封裝成 Starters 元件。這樣,我們在 Spring Boot 應(yīng)用中幾乎可以零配置地使用這些元件,達(dá)到開箱即用的效果,從而從繁雜的配置中解放出來,更加專注於業(yè)務(wù)邏輯的開發(fā)。

Spring Boot 的優(yōu)點(diǎn)可以概括為以下幾個方面:
  • 快速構(gòu)建:使用Spring Initializr 可以快速創(chuàng)建項(xiàng)目,同時提供了豐富的解決方案,便於快速集成各種解決方案,提升開發(fā)效率。
  • 簡化依賴:提供豐富的 Starters,簡化 Maven 配置,避免版本相容問題。
  • 一鍵部署:內(nèi)嵌 Servlet 容器,如 Tomcat、Jetty,能夠直接打包成可執(zhí)行 JAR 檔案獨(dú)立運(yùn)行,支援 Jenkins、Docker,輕鬆實(shí)現(xiàn)自動化運(yùn)作。
  • 應(yīng)用程式監(jiān)控:自備 Actuator 監(jiān)控元件,輕鬆監(jiān)控服務(wù)的各項(xiàng)狀態(tài)。使用 Spring Boot Admin 可以輕鬆部署功能完善的應(yīng)用程式監(jiān)控系統(tǒng)。

總的來說,Spring Boot 讓建置、編碼、配置、部署、監(jiān)控都變得非常簡單。 Spring Boot 可以說是近年來 Spring 社群甚至整個 Java 社群非常有影響力的計(jì)畫之一。

初次學(xué)習(xí) Spring Boot 的讀者,千萬不要把它想得太複雜。 Spring Boot 不是新的語言、新的技術(shù),它只是把現(xiàn)有的比較流行的框架整合在一起,遵循「約定優(yōu)於配置」的原則,開箱即用,使得我們不需要再去關(guān)注那些煩瑣的配置。有了這個概念之後,就可以帶著輕鬆的心情去學(xué)習(xí) Spring Boot。

什麼是“約定優(yōu)於配置”

我們知道Spring Boot 的核心設(shè)計(jì)思想是“約定優(yōu)於配置”,Spring Boot 提供的所有Starters 都是遵循這一想法實(shí)現(xiàn)的。那麼,究竟什麼是「約定優(yōu)於配置」呢?

“約定優(yōu)於配置”也被稱為“按約定編程”,是一種軟體設(shè)計(jì)範(fàn)式,旨在減少軟體開發(fā)者需要的配置項(xiàng),這樣既能使軟體保持簡單而又不失靈活性。

本質(zhì)上來說,系統(tǒng)、類別庫或框架應(yīng)該約定合理的預(yù)設(shè)值,開發(fā)者只需規(guī)定應(yīng)用中不符合約定的部分。例如,如果模型中有一個名為 Product 的類,那麼資料庫中對應(yīng)的表就會預(yù)設(shè)命名為 product,只有在偏離這個約定時才需要定義有關(guān)這個名字的配置,例如將該表命名為 product_info。

簡單來說「約定優(yōu)於配置」就是遵循約定。如果你所用工具的約定配置符合你的要求,那麼就可以省去此配置;不符合,就透過修改相關(guān)的配置來達(dá)到你所期待的方式。

「約定優(yōu)於配置」不是新的概念,許多框架使用了「約定優(yōu)於配置」的設(shè)計(jì)範(fàn)式,包括 Maven、Spring、Grails、Grok、Apache Wicket 等。

Spring Boot 是 Spring 對「約定優(yōu)於配置」的最佳實(shí)務(wù)產(chǎn)物。小到設(shè)定檔、中間件的預(yù)設(shè)配置,大到內(nèi)建容器、Spring 生態(tài)中的各種 Starters,無不遵循「約定優(yōu)於配置」的設(shè)計(jì)想法。正是因?yàn)楹喕呐渲煤捅姸嗟?Starters,才讓 Spring Boot 變得簡單、易用、容易上手,也正是「約定優(yōu)於配置」的設(shè)計(jì)思想的徹底落地,才讓 Spring Boot 走向輝煌。

Spring、Spring Boot和Spring Cloud的關(guān)係

隨著 Spring、Spring Boot 和 Spring Cloud 的不斷發(fā)展,越來越多的開發(fā)者加入 Spring 的大軍中。對於初學(xué)者而言,可能不太了解 Spring、Spring Boot 和 Spring Cloud 這些概念以及它們之間的關(guān)係,下面我們一起來捋一捋。

Spring 是一個開源生態(tài)體系,是集大成者。其核心是控制反轉(zhuǎn)(Inversion of Control,IoC)和麵向切面程式設(shè)計(jì)(Aspect Oriented Programming,AOP)。正是IoC 和AOP 這兩個核心功能成就了強(qiáng)大的Spring,Spring 在這兩大核心功能上不斷地發(fā)展壯大,才有了Spring MVC 等一系列成熟的產(chǎn)品,最終構(gòu)建了功能強(qiáng)大的Spring 生態(tài)帝國。

Spring Boot 是在 Spring 的基礎(chǔ)上發(fā)展而來的,它不是為了取代 Spring,而是為了簡化 Spring 應(yīng)用的創(chuàng)建、運(yùn)行、調(diào)試、部署,讓開發(fā)者更容易使用 Spring。它將目前各種比較成熟的服務(wù)框架和第三方組件組合起來,按照「約定優(yōu)於配置」的設(shè)計(jì)思想進(jìn)行重新封裝,屏蔽掉複雜的配置和實(shí)現(xiàn),最終給開發(fā)者一套簡單、易用、易部署、易於維護(hù)的分散式系統(tǒng)開發(fā)工具包。

Spring Cloud 是基於Spring Boot 實(shí)現(xiàn)的分散式微服務(wù)框架,它利用Spring Boot 簡單、易用、便利的特性簡化了分散式系統(tǒng)基礎(chǔ)設(shè)施的開發(fā),如服務(wù)發(fā)現(xiàn)、服務(wù)註冊、配置中心、訊息匯流排、負(fù)載平衡、斷路器、資料監(jiān)控等基礎(chǔ)元件都可以用Spring Boot 的開發(fā)風(fēng)格做到一鍵啟動和部署。

我們都知道,採用微服務(wù)架構(gòu),服務(wù)的數(shù)量會非常多,管理特別麻煩,而 Spring Cloud 就是一套分散式微服務(wù)治理框架,可以說是這些微服務(wù)的大管家。身為大管家 Spring Cloud 就需要提供各種元件和方案來治理與維護(hù)整個微服務(wù)系統(tǒng),例如服務(wù)之間的通訊、熔斷、監(jiān)控等。 Spring Cloud 利用 Spring Boot 的特性整合了開源產(chǎn)業(yè)中優(yōu)秀的元件,在微服務(wù)架構(gòu)中對外提供了一套服務(wù)治理的解決方案。

Spring Boot 在 Spring Cloud 中扮演了承上啟下的作用,如果要學(xué)習(xí) Spring Cloud,則必須學(xué)習(xí) Spring Boot。三者之間的關(guān)係如下圖所示。

spring boot是什麼?

圖3 Spring、Spring Boot和Spring Cloud的關(guān)係

我們可以這樣理解:正是由於IoC 和AOP 這兩個強(qiáng)大的功能才有了強(qiáng)大的Spring;Spring 生態(tài)不斷地發(fā)展才有了Spring Boot;Spring Boot 開發(fā)、部署的簡化,使得Spring Cloud 微服務(wù)治理方案徹底落地。

更多程式相關(guān)知識,請?jiān)煸L:程式設(shè)計(jì)教學(xué)! !

以上是spring boot是什麼?的詳細(xì)內(nèi)容。更多資訊請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Laravel 教程
1597
29
PHP教程
1488
72
編程新範(fàn)式,當(dāng)Spring Boot遇上OpenAI 編程新範(fàn)式,當(dāng)Spring Boot遇上OpenAI Feb 01, 2024 pm 09:18 PM

2023年,AI技術(shù)已成為熱門話題,對各行業(yè)產(chǎn)生了巨大影響,程式設(shè)計(jì)領(lǐng)域尤其如此。人們越來越認(rèn)識到AI技術(shù)的重要性,Spring社群也不例外。隨著GenAI(GeneralArtificialIntelligence)技術(shù)的不斷進(jìn)步,簡化具備AI功能的應(yīng)用程式的創(chuàng)建變得至關(guān)重要和迫切。在這個背景下,"SpringAI"應(yīng)運(yùn)而生,旨在簡化開發(fā)AI功能應(yīng)用程式的過程,使其變得簡單直觀,避免不必要的複雜性。透過"SpringAI",開發(fā)者可以更輕鬆地建立具備AI功能的應(yīng)用程序,將其變得更加易於使用和操作

利用Spring Boot以及Spring AI建構(gòu)生成式人工智慧應(yīng)用 利用Spring Boot以及Spring AI建構(gòu)生成式人工智慧應(yīng)用 Apr 28, 2024 am 11:46 AM

Spring+AI作為行業(yè)領(lǐng)導(dǎo)者,透過其強(qiáng)大、靈活的API和先進(jìn)的功能,為各種行業(yè)提供了領(lǐng)先性的解決方案。在本專題中,我們將深入探討Spring+AI在各領(lǐng)域的應(yīng)用範(fàn)例,每個案例都將展示Spring+AI如何滿足特定需求,實(shí)現(xiàn)目標(biāo),並將這些LESSONSLEARNED擴(kuò)展到更廣泛的應(yīng)用。希望這個專題能對你有所啟發(fā),更深入地理解和利用Spring+AI的無限可能。 Spring框架在軟體開發(fā)領(lǐng)域已經(jīng)有超過20年的歷史,自SpringBoot1.0版本發(fā)布以來已有10年。現(xiàn)在,無人會質(zhì)疑,Spring

spring編程式事務(wù)有哪些實(shí)作方式 spring編程式事務(wù)有哪些實(shí)作方式 Jan 08, 2024 am 10:23 AM

spring編程式事務(wù)的實(shí)作方式:1、使用TransactionTemplate;2、使用TransactionCallback和TransactionCallbackWithoutResult;3、使用Transactional註解;4、使用TransactionTemplate和@Transactional結(jié)合使用;5、自訂事務(wù)管理器。

Spring如何設(shè)定事務(wù)隔離級別 Spring如何設(shè)定事務(wù)隔離級別 Jan 26, 2024 pm 05:38 PM

Spring設(shè)定事務(wù)隔離等級的方法:1、使用@Transactional註解;2、在Spring設(shè)定檔中設(shè)定;3、使用PlatformTransactionManager;4、在Java配置類別中設(shè)定。詳細(xì)介紹:1、使用@Transactional註解,在需要進(jìn)行事務(wù)管理的類別或方法上加入@Transactional註解,並在屬性中設(shè)定隔離等級;2、在Spring設(shè)定檔等等。

詳解Spring中的Bean取得方式 詳解Spring中的Bean取得方式 Dec 30, 2023 am 08:49 AM

Spring中Bean取得方式詳解在Spring框架中,Bean的取得是非常重要的一環(huán)。在應(yīng)用程式中,我們經(jīng)常需要使用依賴注入或動態(tài)來取得Bean的實(shí)例。本文將詳細(xì)介紹Spring中Bean的取得方式,並給出具體的程式碼範(fàn)例。透過@Component註解取得Bean@Component註解是Spring框架中常用的註解之一。我們可以透過在類別上新增@Compone

spring如何設(shè)定檔 spring如何設(shè)定檔 Jan 18, 2024 pm 03:53 PM

spring設(shè)定檔的步驟:1、建立XML設(shè)定檔;2、新增必要的依賴;3、設(shè)定資料來源;4、定義bean;5、設(shè)定其他元件;6、注入依賴;7、設(shè)定環(huán)境;8、啟用自動組裝;9、部署應(yīng)用程式;10、啟動應(yīng)用程式。詳細(xì)介紹:1、建立XML設(shè)定文件,在專案的資源目錄下建立一個XML文件,這個文件將包含Spring的設(shè)定資訊;2、加入必要的依賴等等。

Spring Security權(quán)限控制框架使用指南 Spring Security權(quán)限控制框架使用指南 Feb 18, 2024 pm 05:00 PM

在後臺管理系統(tǒng)中,通常需要存取權(quán)限控制,以限制不同使用者對介面的存取能力。如果使用者缺乏特定權(quán)限,則無法存取某些介面。本文將用waynboot-mall專案舉例,跟大家介紹常見後管系統(tǒng)如何引入權(quán)限控制框架SpringSecurity。大綱如下:waynboot-mall專案網(wǎng)址:https://github.com/wayn111/waynboot-mall一、什麼是SpringSecuritySpringSecurity是一個基於Spring框架的開源項(xiàng)目,旨在為Java應(yīng)用程式提供強(qiáng)大且靈活的安

Docker和Spring Boot的技術(shù)實(shí)踐:快速建立高效能的應(yīng)用服務(wù) Docker和Spring Boot的技術(shù)實(shí)踐:快速建立高效能的應(yīng)用服務(wù) Oct 21, 2023 am 08:18 AM

Docker和SpringBoot的技術(shù)實(shí)踐:快速建立高效能的應(yīng)用服務(wù)引言:在當(dāng)今的資訊時代,網(wǎng)路應(yīng)用的開發(fā)和部署變得越來越重要。隨著雲(yún)端運(yùn)算和虛擬化技術(shù)的快速發(fā)展,Docker作為一個輕量級的容器技術(shù),受到了廣泛關(guān)注和應(yīng)用。而SpringBoot作為快速開發(fā)和部署Java應(yīng)用的框架,也得到了廣泛認(rèn)可。本文將探討如何結(jié)合Docker和SpringB

See all articles