




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第13章框架整合《JavaEE企業(yè)級(jí)應(yīng)用開發(fā)教程(Spring+SpringMVC+MyBatis)》學(xué)習(xí)目標(biāo)/Target能夠獨(dú)立實(shí)現(xiàn)Spring整合SpringMVC能夠獨(dú)立實(shí)現(xiàn)Spring整合MyBatis-Plus熟悉SSM框架整合的思路,能夠簡述SSM框架整合時(shí)每個(gè)框架的分工以及整合思路掌握SpringBoot快速入門,能夠簡述SpringBoot的特性、SpringBoot全局配置文件的配置方式、構(gòu)建SpringBoot項(xiàng)目的方式能夠獨(dú)立實(shí)現(xiàn)SpringBoot整合SSM框架章節(jié)概述/Summary在JavaEE企業(yè)級(jí)應(yīng)用開發(fā)中,盡管存在眾多技術(shù)框架可供選擇,但基本的架構(gòu)通常遵循三層結(jié)構(gòu):表現(xiàn)層、業(yè)務(wù)邏輯層和數(shù)據(jù)持久層。當(dāng)前,這三層的主流框架組合是SpringMVC、Spring和MyBatis,業(yè)內(nèi)通常簡稱為SSM框架,同時(shí)可以集成MyBatis-Plus增強(qiáng)MyBatis。此外,如果想要簡化Spring應(yīng)用程序的構(gòu)建和部署,開發(fā)者可以采用SpringBoot整合SSM框架。本章將對(duì)SSM框架整合和SpringBoot整合SSM框架分別進(jìn)行講解。目錄/Contents13.113.2SSM框架整合SpringBoot整合SSM框架SSM框架整合13.113.1
SSM框架整合SSM框架整合通常是指在Java企業(yè)級(jí)應(yīng)用開發(fā)中,將Spring、SpringMVC和MyBatis這三個(gè)框架高效地結(jié)合在一起,形成一個(gè)功能全面、結(jié)構(gòu)清晰的開發(fā)環(huán)境的過程。這一整合旨在充分發(fā)揮各個(gè)框架的優(yōu)勢(shì),以構(gòu)建高性能、易維護(hù)的Web應(yīng)用。為了能對(duì)MyBatis進(jìn)行增強(qiáng),并享受MyBatis-Plus帶來的便利和優(yōu)勢(shì),本章將MyBatis替換為MyBatis-Plus,將Spring、SpringMVC和MyBatis-Plus進(jìn)行整合。13.1.1整合思路先定一個(gè)小目標(biāo)!
先定一個(gè)小目標(biāo)!熟悉SSM框架整合的思路,能夠簡述SSM框架整合時(shí)每個(gè)框架的分工以及整合思路13.1.1整合思路負(fù)責(zé)與數(shù)據(jù)庫進(jìn)行交互MyBatis-Plus負(fù)責(zé)Bean和事務(wù)的管理,對(duì)數(shù)據(jù)持久層的Mapper對(duì)象和業(yè)務(wù)邏輯層的Service對(duì)象進(jìn)行管理Spring負(fù)責(zé)接收請(qǐng)求,分發(fā)給合適的控制器進(jìn)行處理,并將處理結(jié)果返回給客戶端。Controller可以直接注入并調(diào)用Service對(duì)象來執(zhí)行業(yè)務(wù)邏輯SpringMVCSSM框架整合時(shí),3個(gè)框架的分工13.1.1整合思路在SSM框架整合中,SpringMVC和MyBatis-Plus沒有直接的交集,它們通過Spring框架作為“粘合劑”間接關(guān)聯(lián)起來。對(duì)此,整合SSM框架時(shí),可以將Spring分別與MyBatis-Plus及SpringMVC進(jìn)行整合,以實(shí)現(xiàn)SSM框架的整合,整合思路如下。①Spring與MyBatis-Plus整合。Spring負(fù)責(zé)管理MyBatis-Plus的MybatisSqlSessionFactoryBean、事務(wù)管理器、Mapper接口的實(shí)例化和注入。可以通過Spring的配置,將MyBatis-Plus的MybatisSqlSessionFactoryBean交由Spring容器管理,Mapper接口則可以通過Spring的掃描機(jī)制自動(dòng)發(fā)現(xiàn)并注入Spring容器。②Spring與SpringMVC整合。SpringMVC作為Spring框架的一個(gè)模塊,它與Spring框架本身緊密集成,使得開發(fā)者能夠在一個(gè)統(tǒng)一的環(huán)境中構(gòu)建整個(gè)Web應(yīng)用程序。對(duì)此,只需引入兩者的依賴,并分別設(shè)置兩者對(duì)應(yīng)的配置即可實(shí)現(xiàn)Spring與SpringMVC的整合。13.1.2
Spring整合MyBatis-Pluss先定一個(gè)小目標(biāo)!
先定一個(gè)小目標(biāo)!能夠獨(dú)立實(shí)現(xiàn)Spring整合MyBatis-Plus13.1.2
Spring整合MyBatis-Pluss1.引入整合所需的依賴基于Archetype創(chuàng)建名稱為chapter13-SSM的WebMaven項(xiàng)目,在項(xiàng)目的pom.xml中引入Spring的依賴、MyBatis-Plus的依賴、Spring和MyBatis整合的依賴等整合所需的依賴,具體如文件13-1所示。文件13-1pom.xml源代碼13.1.2
Spring整合MyBatis-Pluss2.設(shè)置Spring的配置在項(xiàng)目的src\main\resources目錄下創(chuàng)建配置文件application-service.xml,用于設(shè)置Spring的相關(guān)配置,此處指定Spring掃描的Service包路徑,具體代碼如文件13-2所示。文件13-2application-service.xml源代碼13.1.2
Spring整合MyBatis-Pluss3.Spring和MyBatis-Plus整合的配置Spring和MyBatis的整合包中提供了一個(gè)SqlSessionFactoryBean類,該類負(fù)責(zé)創(chuàng)建并配置SqlSessionFactory實(shí)例,使得MyBatis能夠與Spring框架無縫集成。SqlSessionFactoryBean類允許開發(fā)者通過Spring的配置方式來設(shè)置數(shù)據(jù)源、事務(wù)管理器、配置文件位置以及其他MyBatis相關(guān)設(shè)置。MyBatis-Plus為了可以更好地與Spring集成,提供了一個(gè)對(duì)SqlSessionFactoryBean的封裝,即MybatisSqlSessionFactoryBean。MybatisSqlSessionFactoryBean在SqlSessionFactoryBean的基礎(chǔ)之上,添加了對(duì)MyBatis-Plus特性的支持。同時(shí),Spring和MyBatis的整合包中還提供了對(duì)Mapper掃描的Bean,用于將掃描到的Mapper交由Spring管理。13.1.2
Spring整合MyBatis-Pluss在項(xiàng)目的src\main\resources目錄下創(chuàng)建配置文件perties,用于設(shè)置數(shù)據(jù)庫連接信息,具體如文件13-3所示。文件13-3perties源代碼13.1.2
Spring整合MyBatis-Pluss在src\main\resources目錄下創(chuàng)建配置文件application-dao.xml,用于配置Spring和MyBatis-Plus整合信息,具體如文件13-4所示。文件13-4application-dao.xml源代碼13.1.2
Spring整合MyBatis-Pluss4.整合測(cè)試為了能快速測(cè)試其整合效果,在此將12.2.1節(jié)代碼生成器生成的除Controller之外的其他基礎(chǔ)代碼復(fù)制到chapter13-SSM中。為了讀者能更好地體驗(yàn)Spring整合MyBatis-Plus后,在Service層注入Mapper對(duì)象,并執(zhí)行Mapper對(duì)應(yīng)的方法,在此修改BookService接口和BookServiceImpl類,在BookService接口中自定義查詢所有圖書信息的方法findAllBooks()方法,并在BookServiceImpl類中注入BookMapper對(duì)象,重寫findAllBooks()方法,具體如文件13-5和文件13-6所示。文件13-5
BookService.java文件13-6
BookServiceImpl.java源代碼13.1.2
Spring整合MyBatis-Pluss在項(xiàng)目的src\main\test目錄下的java文件夾中,創(chuàng)建名稱為BookServiceTest的測(cè)試類,在該測(cè)試類中加載application-service.xml和application-dao.xml,注入BookService對(duì)象,并調(diào)用其findAllBooks()方法,將查詢到的圖書信息輸出在控制臺(tái),如文件13-7所示。文件13-7BookServiceTest.java源代碼13.1.2
Spring整合MyBatis-Pluss運(yùn)行文件13-7中的findAllBooks()方法,效果如下圖所示。13.1.3
Spring整合SpringMVC先定一個(gè)小目標(biāo)!
先定一個(gè)小目標(biāo)!能夠獨(dú)立實(shí)現(xiàn)Spring整合SpringMVC13.1.3
Spring整合SpringMVC1.引入依賴在chapter13-SSM項(xiàng)目的pom.xml文件中引入SpringMVC的依賴和Jackson的依賴,具體如下所示。引入的依賴源代碼Spring和SpringMVC的整合比較簡單,具體實(shí)現(xiàn)如下。13.1.3
Spring整合SpringMVC2.Spring的配置在項(xiàng)目的web.xml文件中配置Spring的監(jiān)聽器來加載Spring容器及Spring的配置文件,具體配置如下所示。配置信息源代碼13.1.3
Spring整合SpringMVC3.SpringMVC的配置在項(xiàng)目的src\main\resources目錄下創(chuàng)建SpringMVC的配置文件spring-mvc.xml,在該配置文件中配置包掃描和注解驅(qū)動(dòng),具體如文件13-8所示。文件13-8spring-mvc.xml源代碼13.1.3
Spring整合SpringMVC在web.xml中配置SpringMVC的前端控制器,并在初始化前端控制器時(shí)加載SpringMVC的配置文件,具體如下所示。前端控制器配置信息源代碼13.1.3
Spring整合SpringMVC4.SSM框架整合測(cè)試在項(xiàng)目chapter13-SSM中創(chuàng)建com.itheima.controller包,在該包中創(chuàng)建BookController類,并在BookController類中注入BookService對(duì)象和定義處理查詢所有圖書請(qǐng)求的方法findAllBooks()。在findAllBooks()中通過BookService對(duì)象調(diào)用其findAllBooks()方法查詢所有圖書,并將查詢結(jié)果響應(yīng)回去。具體如文件13-9所示。文件13-9BookController.java源代碼13.1.3
Spring整合SpringMVC在IDEA中將項(xiàng)目部署到本地Tomcat中,啟動(dòng)項(xiàng)目,在瀏覽器中訪問地址http://localhost:8080/chapter13_SSM_war/book/findAllBooks查詢所有圖書信息,效果如下圖所示。SpringBoot整合SSM框架13.213.2
SpringBoot整合SSM框架在Java企業(yè)級(jí)應(yīng)用開發(fā)中,SpringBoot憑借其簡潔的配置、強(qiáng)大的自動(dòng)配置能力以及快速的部署特性,已成為快速構(gòu)建微服務(wù)和Web應(yīng)用的首選框架。與此同時(shí),傳統(tǒng)的SSM(Spring、SpringMVC、MyBatis)框架組合憑借其穩(wěn)健的分層架構(gòu)設(shè)計(jì)和廣泛的應(yīng)用經(jīng)驗(yàn),在Java企業(yè)級(jí)應(yīng)用開發(fā)中占據(jù)著舉足輕重的地位。為了融合這兩者的優(yōu)點(diǎn),開發(fā)者可以在SpringBoot項(xiàng)目中集成SSM框架,打造出既高效又穩(wěn)定的應(yīng)用架構(gòu)。下面將對(duì)SpringBoot整合SSM框架進(jìn)行講解。13.2.1SpringBoot快速入門先定一個(gè)小目標(biāo)!
先定一個(gè)小目標(biāo)!掌握SpringBoot快速入門,能夠簡述SpringBoot的特性、SpringBoot全局配置文件的配置方式、構(gòu)建SpringBoot項(xiàng)目的方式13.2.1SpringBoot快速入門SpringBoot是基于Spring框架構(gòu)建的一個(gè)全新框架,但SpringBoot本身并不直接提供Spring框架的核心功能或擴(kuò)展,而是旨在簡化Spring應(yīng)用的開發(fā)過程。SpringBoot通過自動(dòng)配置和約定優(yōu)于配置的原則,與Spring框架緊密結(jié)合,并極大地減少了開發(fā)者在構(gòu)建Spring應(yīng)用時(shí)所需的手動(dòng)配置工作。SpringBoot涉及的內(nèi)容較廣,下面重點(diǎn)講解SpringBoot的快速入門,包含SpringBoot的特性、SpringBoot的全局配置文件、SpringBoot項(xiàng)目的構(gòu)建。13.2.1SpringBoot快速入門0102030405開發(fā)者通過選擇SpringBoot提供的場(chǎng)景依賴,即可快速搭建一個(gè)完整的Spring應(yīng)用程序內(nèi)嵌了Tomcat、Jetty或Undertow等Web容器,無需再將應(yīng)用程序打包為WAR文件并部署到外部容器中開發(fā)者只需在項(xiàng)目中引入相應(yīng)的“starter”,即可快速集成所需功能,無需手動(dòng)處理庫之間的依賴關(guān)系SpringBoot會(huì)根據(jù)引入的依賴和項(xiàng)目中的配置自動(dòng)配置應(yīng)用程序SpringBoot提供了多種生產(chǎn)就緒的特性,如指標(biāo)監(jiān)控、健康檢查和外部化配置等快速構(gòu)建獨(dú)立的Spring應(yīng)用內(nèi)嵌Web容器標(biāo)題內(nèi)容簡化的“starter”依賴自動(dòng)配置生產(chǎn)就緒特性SpringBoot的特性13.2.1SpringBoot快速入門SpringBoot應(yīng)用引入啟動(dòng)器依賴后,應(yīng)用會(huì)根據(jù)這些依賴提供對(duì)應(yīng)的自動(dòng)配置選項(xiàng)。當(dāng)應(yīng)用啟動(dòng)時(shí),這些自動(dòng)配置選項(xiàng)會(huì)根據(jù)當(dāng)前環(huán)境決定是否應(yīng)用,并作為應(yīng)用的默認(rèn)配置。如果開發(fā)者想修改這些默認(rèn)配置的值,可以在SpringBoot的全局配置文件中設(shè)置。全局配置文件在SpringBoot應(yīng)用中扮演著至關(guān)重要的角色,它們?cè)试S開發(fā)者對(duì)應(yīng)用的默認(rèn)配置值進(jìn)行修改,以及自定義配置。如果全局配置文件中存在與SpringBoot默認(rèn)自動(dòng)配置相同的配置項(xiàng),那么應(yīng)用將使用全局配置文件中的值來覆蓋默認(rèn)的配置信息。SpringBoot默認(rèn)支持perties、application.yaml
、application.yml,其中,application.yaml和application.yml這兩個(gè)文件內(nèi)容和語法完全相同,只是文件擴(kuò)展名不同。下面對(duì)perties和application.yml這兩種全局配置文件進(jìn)行講解。2.SpringBoot的全局配置文件13.2.1SpringBoot快速入門perties文件中可以定義SpringBoot項(xiàng)目的相關(guān)屬性,屬性通過鍵值對(duì)格式進(jìn)行設(shè)置,表示形式為“Key=Value”,這些相關(guān)屬性可以是系統(tǒng)屬性、環(huán)境變量、命令參數(shù)等信息,也可以是自定義的屬性。perties文件中的屬性支持多種類型,常見的有字面量、數(shù)組和集合,下面分別為這幾種類型的屬性的寫法進(jìn)行講解。(1)perties全局配置文件13.2.1SpringBoot快速入門字面量類型屬性字面量是指單個(gè)的,不可拆分的值,例如,數(shù)字、字符串、布爾值等。在perties文件中配置字面量的屬性時(shí),直接將字面量作為Value直接寫在鍵值對(duì)中即可,且默認(rèn)情況下字符串不需要使用單引號(hào)或雙引號(hào)進(jìn)行修飾。示例代碼如下。address=beijingage=1313.2.1SpringBoot快速入門如果需要配置的屬性為對(duì)象的屬性,可以通過“對(duì)象名.屬性名”的方式指定屬性的鍵。對(duì)象中可能包含多個(gè)屬性,在perties文件中為對(duì)象的屬性賦值時(shí),一個(gè)屬性對(duì)應(yīng)一對(duì)鍵值對(duì),示例代碼如下。user.username=lisiuser.age=1813.2.1SpringBoot快速入門數(shù)組類型屬性在perties文件中配置數(shù)組類型屬性時(shí),可以將數(shù)組元素的值寫在一行內(nèi),元素值之間使用逗號(hào)(,)間隔,也可以在多行分別根據(jù)索引賦值,示例代碼如下。#方式一user.hobby=swim,travel,cook#方式二user.hobby[0]=swim2user.hobby[1]=travel2user.hobby[2]=cook213.2.1SpringBoot快速入門在perties文件中也可以配置集合類型的屬性,下面分別演示配置List、Set、Map的集合類型屬性,示例代碼如下。#配置List:方式一user.subject=Chinese,English,Math#配置List:方式二user.subject[0]=Chineseuser.subject[1]=Englishuser.subject[2]=Math#配置Setuser.salary=120,230#配置Map:方式一user.order.1001=cookieuser.order.1002=cake#配置Map:方式二user.order[1001]=cookieuser.order[1002]=cake13.2.1SpringBoot快速入門application.yml配置文件是使用YAML編寫的文件,YAML是YAMLAin'tMarkupLanguage的遞歸縮寫。YAML通常用于表示數(shù)據(jù)結(jié)構(gòu)和配置信息,它使用縮進(jìn)和外觀依賴的方式表示層級(jí)關(guān)系,使得配置文件和數(shù)據(jù)結(jié)構(gòu)的表達(dá)相對(duì)簡潔和易于閱讀。YAML支持的數(shù)據(jù)包括列表、鍵值對(duì)和字符串、數(shù)字等。(2)application.yml全局配置文件13.2.1SpringBoot快速入門application.yml配置文件是使用YAML編寫的文件,YAML是YAMLAin'tMarkupYAML文件的后綴名為.yml或.yaml,編寫時(shí)需要遵循如下規(guī)則。使用縮進(jìn)表示層級(jí)關(guān)系??s進(jìn)時(shí)不允許使用制表符,只允許使用空格??s進(jìn)的空格數(shù)不重要,但同級(jí)元素必須左側(cè)對(duì)齊。
大小寫敏感。13.2.1SpringBoot快速入門字面量類型屬性YAML中,使用“Key:Value”的形式表示一對(duì)鍵值對(duì),其中Value之前包含一個(gè)英文空格,并且該空格不能省略。在配置字面量類型的屬性時(shí),直接將字面量作為Value直接寫在鍵值對(duì)中即可,且默認(rèn)情況下字符串是不需要使用單引號(hào)或雙引號(hào)的。示例代碼如下。address:beijingage:13application.yml中常見數(shù)據(jù)類型的屬性如下。13.2.1SpringBoot快速入門如果需要配置的屬性為對(duì)象的屬性,配置的方式有縮進(jìn)式和行內(nèi)式兩種,示例代碼如下。#縮進(jìn)式consumer:username:lisiage:18#行內(nèi)式consumer:{username:lisi,age:18}13.2.1SpringBoot快速入門數(shù)組類型和單列集合屬性當(dāng)YAML配置文件中配置的屬性為數(shù)組類型或單列集合時(shí),也可以使用縮進(jìn)式寫法和行內(nèi)式寫法。其中,縮進(jìn)式寫法示例如下。consumer:hobby:-play-read-sleep行內(nèi)式寫法,示例代碼如下。consumer:hobby:[play,read,sleep]13.2.1SpringBoot快速入門Map集合屬性當(dāng)YAML配置文件中配置Map集合的屬性時(shí),可以使用縮進(jìn)式寫法和行內(nèi)式寫法,其中,縮進(jìn)式寫法的示例代碼如下consumer:order:1001:cookie1002:cake行內(nèi)式寫法,示例代碼如下。consumer:order:{1001:cookie,1002:cake}13.2.1SpringBoot快速入門SpringBoot項(xiàng)目中可以存在多個(gè)perties或apllication.yml文件,SpringBoot啟動(dòng)時(shí)會(huì)掃描以下5個(gè)位置的perties和apllication.yml文件。①file:./config/*/②file:./config/③file:./④classpath:/config/⑤classpath:/13.2.1SpringBoot快速入門加載多個(gè)perties或apllication.yml文件時(shí),文件中的配置則會(huì)根據(jù)文件的位置劃分優(yōu)先級(jí),優(yōu)先級(jí)規(guī)則如下。①上述1~5位置,文件配置的優(yōu)先級(jí)依次降低,序號(hào)越小優(yōu)先級(jí)越高。②位于相同位置的perties的優(yōu)先級(jí)高于application.yml,application.yml高于application.yaml。加載多個(gè)文件中的配置時(shí),如果存在相同的配置內(nèi)容,高優(yōu)先級(jí)的內(nèi)容會(huì)覆蓋低優(yōu)先級(jí)的內(nèi)容。存在不同的配置內(nèi)容時(shí),對(duì)配置內(nèi)容取并集。13.2.1SpringBoot快速入門SpringBoot項(xiàng)目可以通過多種方式構(gòu)建,其中最常見的兩種方式是通過SpringInitializr自動(dòng)生成項(xiàng)目結(jié)構(gòu)和手動(dòng)創(chuàng)建Maven項(xiàng)目并添加必要的依賴的方式,下面對(duì)這兩種方式進(jìn)行說明。3.SpringBoot項(xiàng)目的構(gòu)建(1)基于SpringInitializr構(gòu)建SpringBoot項(xiàng)目SpringInitializr是一個(gè)在線的SpringBoot項(xiàng)目生成器,它可以幫助開發(fā)者快速生成一個(gè)新的SpringBoot項(xiàng)目的基礎(chǔ)結(jié)構(gòu),讀者可以在項(xiàng)目初始化之前對(duì)項(xiàng)目所需要的依賴進(jìn)行選擇。使用SpringInitializr方式構(gòu)建SpringBoot項(xiàng)目時(shí),需要確保所在主機(jī)處于聯(lián)網(wǎng)狀態(tài)下,否則將構(gòu)建失敗。在IDEA中基于SpringInitializr構(gòu)建SpringBoot項(xiàng)目的操作如下。13.2.1SpringBoot快速入門啟動(dòng)IDEA后,在IDEA歡迎頁面依次選擇“Project”→“NewProject”創(chuàng)建項(xiàng)目,在彈出的對(duì)話框中選擇左側(cè)“SpringInitializr”選項(xiàng),具體如圖所示。13.2.1SpringBoot快速入門選擇Type為Maven的項(xiàng)目構(gòu)建工具,并填寫好創(chuàng)建項(xiàng)目的其他信息后,單擊“Next”按鈕,進(jìn)入SpringBoot項(xiàng)目場(chǎng)景依賴選擇界面,具體如圖所示。13.2.1SpringBoot快速入門在SpringBoot項(xiàng)目場(chǎng)景依賴選擇界面可以選擇項(xiàng)目需要使用的技術(shù)集,勾選對(duì)應(yīng)的依賴即可。例如,項(xiàng)目中想要添加SpringMVC,可以勾選Web類別下的SpringWeb,創(chuàng)建項(xiàng)目時(shí)就會(huì)添加SpringWeb的依賴,具體如圖所示。13.2.1SpringBoot快速入門使用SpringInitializr方式構(gòu)建的SpringBoot項(xiàng)目中會(huì)默認(rèn)生成一些文件和文件夾,如項(xiàng)目的啟動(dòng)類、perties全局配置文件、pom.xml文件、static為靜態(tài)資源文件夾、templates模板頁面文件夾。其中,pom.xml文件中會(huì)自動(dòng)引入依賴選擇界面中勾選的依賴。項(xiàng)目的啟動(dòng)類中可以定義啟動(dòng)項(xiàng)目的方法,示例如下。@SpringBootApplicationpublicclassChapter13Application{publicstaticvoidmain(String[]args){SpringApplication.run(Chapter13Application.class,args);}}13.2.1SpringBoot快速入門(2)手動(dòng)創(chuàng)建Maven項(xiàng)目構(gòu)建SpringBoot項(xiàng)目基于SpringInitializr方式構(gòu)建SpringBoot項(xiàng)目非常便捷,但是如果當(dāng)前主機(jī)不能聯(lián)網(wǎng),這種方式就無法正常使用。如果構(gòu)建項(xiàng)目所需要使用的組件和依賴在本地Maven倉庫中已經(jīng)存在,則可以使用手動(dòng)創(chuàng)建Maven項(xiàng)目構(gòu)建SpringBoot項(xiàng)目,這種方式無需聯(lián)網(wǎng)也可以構(gòu)建SpringBoot項(xiàng)目。手動(dòng)創(chuàng)建Maven項(xiàng)目構(gòu)建SpringBoot項(xiàng)目時(shí),只需創(chuàng)建Maven項(xiàng)目后,在項(xiàng)目的pom.xml文件中引入SpringBoot對(duì)應(yīng)的依賴,并編寫項(xiàng)目啟動(dòng)類即可。為了簡化依賴配置,讓開發(fā)者能夠快速引入一組相互依賴的庫來實(shí)現(xiàn)特定功能,而無需手動(dòng)添加和管理每一個(gè)單獨(dú)的依賴,SpringBoot將用于實(shí)現(xiàn)特定功能的一系列依賴及其配置封裝到一個(gè)特色的組件中,這種特色的組件稱為啟動(dòng)器。13.2.1SpringBoot快速入門SpringBoot官方提供了大量的啟動(dòng)器,其名稱基本都是通過“spring-boot-starter-技術(shù)名稱”這樣的格式命名,通過啟動(dòng)器的名稱通??梢灾浪峁┑墓δ?。常見的SpringBoot應(yīng)用程序啟動(dòng)器如下。名稱說明spring-boot-starter-thymeleaf使用Thymeleaf模板引擎構(gòu)造MVCWeb應(yīng)用程序的啟動(dòng)器spring-boot-starter-web構(gòu)建Web應(yīng)用的啟動(dòng)器,該啟動(dòng)器默認(rèn)情況下會(huì)自動(dòng)嵌入Tomcat作為Servlet容器,并配置SpringMVCspring-boot-starter-test包含常用測(cè)試庫的啟動(dòng)器,包括Junit、Hamcrest、Mockito以及spring-test模塊13.2.1SpringBoot快速入門名稱說明spring-boot-starter-jdbc結(jié)合JDBC和HikariCP連接池的啟動(dòng)器,對(duì)數(shù)據(jù)源自動(dòng)裝配,并提供JdbcTemplate簡化數(shù)據(jù)庫操作spring-boot-starter-data-jpa提供JPA(JavaPersistenceAPI,Java持久層API)支持的啟動(dòng)器,通常與數(shù)據(jù)庫操作相關(guān),使用Hibernate作為默認(rèn)實(shí)現(xiàn)spring-boot-starter-data-redis提供Redis支持的啟動(dòng)器,用于構(gòu)建基于Redis的緩存和消息代理應(yīng)用13.2.1SpringBoot快速入門名稱說明spring-boot-starter-activemq用于集成ApacheActiveMQ消息中間件的啟動(dòng)器,ActiveMQ是一個(gè)流行的開源消息代理,用于在應(yīng)用程序之間發(fā)送和接收消息spring-boot-starter-security用于集成SpringSecurity的啟動(dòng)器,SpringSecurity是一個(gè)強(qiáng)大的安全框架spring-boot-starter-dubbo提供了Dubbo自動(dòng)配置和依賴項(xiàng)的啟動(dòng)器,Dubbo是一個(gè)用于構(gòu)建高效、可靠和可擴(kuò)展的分布式系統(tǒng)13.2.1SpringBoot快速入門需要說明的是,SpringBoot官方并不是針對(duì)所有場(chǎng)景開發(fā)的技術(shù)都提供了啟動(dòng)器,例如,MyBatis、MyBatis-Plus、Druid等,SpringBoot官方就沒有提供對(duì)應(yīng)的啟動(dòng)器。為了充分利用SpringBoot框架的優(yōu)勢(shì),一些技術(shù)廠商主動(dòng)將自家的框架與SpringBoot框架進(jìn)行了整合,實(shí)現(xiàn)了各自的依賴啟動(dòng)器,例如,MyBatis提供的啟動(dòng)器mybatis-spring-boot-starter、MyBatis-Plus提供的啟動(dòng)器mybatis-plus-boot-starter。不過在項(xiàng)目pom.xml文件中引入這些第三方的啟動(dòng)器時(shí),需要自行配置對(duì)應(yīng)的依賴版本號(hào)。13.2.1SpringBoot快速入門為了快速構(gòu)建和配置SpringBoot應(yīng)用程序,SpringBoot不僅提供了大量的啟動(dòng)器,還提供了spring-boot-starter-parent,spring-boot-starter-parent是一個(gè)Maven的父pom.xml文件,它為SpringBoot應(yīng)用提供了多種技術(shù)默認(rèn)的配置、依賴管理和最佳實(shí)踐指導(dǎo),通過繼承spring-boot-starter-parent,開發(fā)者可以在SpringBoot項(xiàng)目中繼承到這些默認(rèn)配置和依賴管理,從而簡化項(xiàng)目的構(gòu)建和配置過程。雖然spring-boot-starter-parent名字里帶有starter,但實(shí)際上它和啟動(dòng)器的功能卻不相同,spring-boot-starter-parent中定義了很多個(gè)常見組件或框架的依賴版本號(hào),組合成一套最優(yōu)搭配的技術(shù)版本,可以更方便統(tǒng)一管理依賴的版本,也減少了依賴的沖突。而普通starter通過一個(gè)單一的依賴來自動(dòng)包含一組相關(guān)的依賴,減少依賴配置的書寫量。13.2.1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年城市綠化帶景觀改造項(xiàng)目施工委托合同
- 2025年度城市綜合體夜間巡邏與安保服務(wù)補(bǔ)充協(xié)議
- 2025年北京別墅產(chǎn)權(quán)過戶與租賃一體化服務(wù)合同
- 2025年金融機(jī)構(gòu)信用評(píng)估與風(fēng)險(xiǎn)控制咨詢合同范本
- 2025款智能醫(yī)療器械遠(yuǎn)程監(jiān)控與維修服務(wù)合同范本
- 2025年度歡樂谷景區(qū)設(shè)施改造升級(jí)及新型游樂設(shè)備采購合同
- 2025年預(yù)算單位公務(wù)卡支付結(jié)算與金融機(jī)構(gòu)深度合作協(xié)議
- 2025年互聯(lián)網(wǎng)金融服務(wù)廣告投放及用戶通知服務(wù)合同
- 2025年綠色環(huán)保設(shè)備制造與采購合作協(xié)議
- 2025年社區(qū)食堂食材供應(yīng)及食品安全知識(shí)普及服務(wù)合同
- 食堂工人培訓(xùn)課件
- 2025屆江蘇省蘇州地區(qū)學(xué)校英語八年級(jí)第二學(xué)期期末聯(lián)考試題含答案
- 【艾瑞咨詢】2024年中國健康管理行業(yè)研究報(bào)告494mb
- 胸痹的中醫(yī)治療
- 人流術(shù)后的護(hù)理及健康宣教
- 財(cái)務(wù)崗位筆試題目及答案
- 兵團(tuán)兩委考試試題及答案
- DB31/T 636.1-2018會(huì)議經(jīng)營與服務(wù)規(guī)范第1部分:會(huì)議服務(wù)機(jī)構(gòu)等級(jí)劃分與評(píng)定
- 創(chuàng)新素養(yǎng)評(píng)價(jià)體系:核心素養(yǎng)框架下的關(guān)鍵指標(biāo)研究
- 夫妻房屋加名協(xié)議書
- 《大腦中動(dòng)脈解剖結(jié)構(gòu)》課件
評(píng)論
0/150
提交評(píng)論