版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
J
a
v
a
E
E框架整合開(kāi)發(fā)第五章Spring
Boot入門(mén)本章目標(biāo)了解Spring
Boot的特性掌握Spring
Boot應(yīng)用開(kāi)發(fā)環(huán)境的構(gòu)建本章內(nèi)容Spring
Boot概述第一個(gè)Spring
Boot應(yīng)用5.1
Spring
Boot概述5.1.1什么是Spring
Boot5.1.2
Spring
Boot的優(yōu)點(diǎn)5.1.3
Spring
Boot的主要特性5.1.1什么是Spring
BootSpring
Boot是由Pivotal團(tuán)隊(duì)提供的全新框架,其設(shè)計(jì)目的是用來(lái)簡(jiǎn)化新Spring應(yīng)用的初始搭建以及開(kāi)發(fā)過(guò)程。使用SpringBoot框架可以做到專(zhuān)注于Spring應(yīng)用的開(kāi)發(fā),無(wú)須過(guò)多關(guān)注樣板化的配置。在Spring
Boot框架中,使用“約定優(yōu)于配置(COC,ConventionOver
Configuration)”的理念。針對(duì)企業(yè)應(yīng)用開(kāi)發(fā),提供了符合各種場(chǎng)景的spring-boot-starter自動(dòng)配置依賴(lài)模塊,這些模塊都是基于“開(kāi)箱即用”的原則,進(jìn)而使企業(yè)應(yīng)用開(kāi)發(fā)更加快捷和高效??梢哉f(shuō),Spring
Boot是開(kāi)發(fā)者和Spring框架的中間層,目的是幫助開(kāi)發(fā)者管理應(yīng)用的配置,提供應(yīng)用開(kāi)發(fā)中常見(jiàn)配置的默認(rèn)處理(即約定優(yōu)于配置),簡(jiǎn)化Spring應(yīng)用的開(kāi)發(fā)和運(yùn)維,降低開(kāi)發(fā)人員對(duì)框架的關(guān)注度,使開(kāi)發(fā)人員把更多精力放在業(yè)務(wù)邏輯代碼上。5.1
Spring
Boot概述5.1.1什么是Spring
Boot5.1.2
Spring
Boot的優(yōu)點(diǎn)5.1.3
Spring
Boot的主要特性5.1.2
Spring
Boot的優(yōu)點(diǎn)Spring
Boot之所以能夠應(yīng)運(yùn)而生,是因?yàn)樗哂腥缦聝?yōu)點(diǎn):1.使編碼變得簡(jiǎn)單:推薦使用注解。2.使配置變得快捷:自動(dòng)配置、快速構(gòu)建項(xiàng)目、快速集成第三方技術(shù)的能力。3.使部署變得簡(jiǎn)便:內(nèi)嵌Tomcat、Jetty等Web容器。4.使監(jiān)控變得容易:自帶項(xiàng)目監(jiān)控。5.1
Spring
Boot概述5.1.1什么是Spring
Boot5.1.2
Spring
Boot的優(yōu)點(diǎn)5.1.3
Spring
Boot的主要特性5.1.3
Spring
Boot的主要特性1.約定優(yōu)于配置Spring
Boot遵循“約定優(yōu)于配置”的原則,只需很少的配置,大多數(shù)情況直接使用默認(rèn)配置即可。2.獨(dú)立運(yùn)行的Spring應(yīng)用Spring
Boot可以以jar包的形式獨(dú)立運(yùn)行。使用java-jar命令或者在項(xiàng)目的主程序中執(zhí)行main方法運(yùn)行Spring
Boot應(yīng)用(項(xiàng)目)。3.內(nèi)嵌Web容器內(nèi)嵌Servlet容器,Spring
Boot可以選擇內(nèi)嵌Tomcat、Jetty等Web容器,無(wú)須以war包形式部署應(yīng)用。5.1.3
Spring
Boot的主要特性4.提供starter簡(jiǎn)化Maven配置
Spring
Boot提供了一系列的starter
pom簡(jiǎn)化Maven的依賴(lài)加載,基本上可以做到自動(dòng)化配置,高度封裝,開(kāi)箱即用。5.自動(dòng)配置Spring
Spring
Boot根據(jù)項(xiàng)目依賴(lài)(在類(lèi)路徑中的jar包、類(lèi))自動(dòng)配置
Spring框架,極大減少了項(xiàng)目的配置。6.提供準(zhǔn)生產(chǎn)的應(yīng)用監(jiān)控
Spring
Boot提供基于HTTP、SSH、TELNET對(duì)運(yùn)行的項(xiàng)目進(jìn)行跟蹤監(jiān)控。7.無(wú)代碼生成和XML配置Spring
Boot不是借助于代碼生成來(lái)實(shí)現(xiàn)的,而是通過(guò)條件注解來(lái)實(shí)現(xiàn)的。提倡使用Java配置和注解配置相結(jié)合的配置方式。很方便快捷。本章內(nèi)容Spring
Boot概述第一個(gè)Spring
Boot應(yīng)用5.2第一個(gè)Spring
Boot應(yīng)用5.2.1
Maven簡(jiǎn)介5.2.2
Maven的pom.xml5.2.3使用STS快速構(gòu)建Spring
Boot應(yīng)用5.2.4使用IntelliJ
IDEA快速構(gòu)建Spring
Boot應(yīng)用5.2.1
Maven簡(jiǎn)介Apache
Maven是一個(gè)軟件項(xiàng)目管理工具。基于項(xiàng)目對(duì)象模型(Project
Object
Model,POM)的理念,通過(guò)一段核心描述信息
來(lái)管理項(xiàng)目構(gòu)建、報(bào)告和文檔信息。在Java項(xiàng)目中,Maven主要完成兩件工作:①統(tǒng)一開(kāi)發(fā)規(guī)范與工具;②統(tǒng)一管理jar包。
Maven統(tǒng)一管理項(xiàng)目開(kāi)發(fā)所需要的jar包,但這些jar包將不再包含在項(xiàng)目?jī)?nèi)(即不在lib目錄下),而是存放于倉(cāng)庫(kù)當(dāng)中。1.中央倉(cāng)庫(kù)存放開(kāi)發(fā)過(guò)程中所有jar包,例如JUnit,都可以通過(guò)互聯(lián)網(wǎng)從中央倉(cāng)庫(kù)中下載,倉(cāng)庫(kù)地址:。2.本地倉(cāng)庫(kù)
本地計(jì)算機(jī)中的倉(cāng)庫(kù)。官方下載Maven的本地倉(cāng)庫(kù),配置在
“%MAVEN_HOME%\conf\settings.xml”文件中,找到
“l(fā)ocalRepository”即可。?請(qǐng)思考Maven項(xiàng)目從哪個(gè)庫(kù)加載jar包呢?5.2第一個(gè)Spring
Boot應(yīng)用5.2.1
Maven簡(jiǎn)介5.2.2
Maven的pom.xml5.2.3使用STS快速構(gòu)建Spring
Boot應(yīng)用5.2.4使用IntelliJ
IDEA快速構(gòu)建Spring
Boot應(yīng)用5.2.2
Maven的pom.xmlMaven是基于項(xiàng)目對(duì)象模型的理念管理項(xiàng)目的,所以Maven的項(xiàng)目都有一個(gè)pom.xml配置文件來(lái)管理項(xiàng)目的依賴(lài)以及項(xiàng)目的編譯等功能。1.properties元素在<properties></properties>之間可以定義變量,以便在<dependency></dependency>中引用,示例代碼如下:<properties><!--spring版本號(hào)--><spring.version>5.3.2.RELEASE</spring.version></properties><dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>${spring.version}</version></dependency></dependencies>2.dependencies元素<dependencies></dependencies>,此元素包含多個(gè)項(xiàng)目依賴(lài)需要使用的<dependency></dependency>元素。3.dependency元素<dependency></dependency>元素內(nèi)部通過(guò)<groupId></groupId>、<artifactId></artifactId>、<version></version>三個(gè)子元素確定唯一的依賴(lài),也可以稱(chēng)為三個(gè)坐標(biāo)。示例代碼如下:<dependency><!--groupId組織的唯一標(biāo)識(shí)--><groupId>org.springframework</groupId><!--artifactId項(xiàng)目的唯一標(biāo)識(shí)--><artifactId>spring-core</artifactId><!--version項(xiàng)目的版本號(hào)--><version>${spring.version}</version></dependency>4.scope子元素在<dependency></dependency>元素中,有時(shí)使用<scope></scope>子元素管理依賴(lài)的部署。(1)compile(編譯范圍)(2)provided(已提供范圍)(3)runtime(運(yùn)行時(shí)范圍)(4)test(測(cè)試范圍)(5)system(系統(tǒng)范圍)5.2第一個(gè)Spring
Boot應(yīng)用5.2.1
Maven簡(jiǎn)介5.2.2
Maven的pom.xml5.2.3使用STS快速構(gòu)建Spring
Boot應(yīng)用5.2.4使用IntelliJ
IDEA快速構(gòu)建Spring
Boot應(yīng)用5.2.3使用STS快速構(gòu)建Spring
Boot應(yīng)用可以使用Spring
Tool
Suite(STS)便捷地構(gòu)建Spring
Boot應(yīng)用。STS是一個(gè)定制版的Eclipse,專(zhuān)為Spring開(kāi)發(fā)定制的,方便創(chuàng)建調(diào)試運(yùn)行維護(hù)Spring應(yīng)用。通過(guò)該工具,可以很輕易地生成一個(gè)Spring工程,比如Web工程,最令人興奮的是工程里的配置文件都將自動(dòng)生成,開(kāi)發(fā)者再也不用關(guān)注配置文件的格式及各種配置了??梢酝ㄟ^(guò)官網(wǎng)https://spring.io/tools下載
Spring
Tools
for
Eclipse,本書(shū)采用的版本是spring-tool-suite-4-4.9.0.RELEASE-e4.18.0-win32.win32.x86_64.self-extracting.jar。該版本與Eclipse一樣免安裝,解壓即可使用。另外,STS自帶Java
SE,所以也不需要安裝JDK。1.新建Spring
Starter
Project2.選擇項(xiàng)目依賴(lài)3.編寫(xiě)測(cè)試代碼@RestControllerpublic
class
TestController
{@RequestMapping("/hello")public
String
hello()
{return"您好,Spring
Boot!";}}上述代碼中使用的@RestController注解是一個(gè)組合注解,相當(dāng)于SpringMVC中的@Controller和@ResponseBody注解的組合,具體應(yīng)用如下:如果只是使用@RestController注解Controller,則Controller中的方法無(wú)法返回JSP、html等視圖,返回的內(nèi)容就是return的內(nèi)容。如果需要返回到指定頁(yè)面,則需要用@Controller注解。如果需要返回
JSON,XML或自定義mediaType內(nèi)容到頁(yè)面,則需要在對(duì)應(yīng)的方法上加上
@ResponseBody注解。?請(qǐng)思考@RestController與@Controller的區(qū)別4.應(yīng)用程序的App類(lèi)@SpringBootApplicationpublic
class
Ch51Application
{public
static
void
main(String[]
args)
{SpringApplication.run(Ch51Application.class,
args);}}上述代碼中使用@SpringBootApplication注解指定該程
序是一個(gè)Spring
Boot應(yīng)用,該注解也是一個(gè)組合注解,相當(dāng)于
@SpringBootConfiguration、@EnableAutoConfiguration和@ComponentScan注解的組合,具體細(xì)節(jié)在第6章講解。
SpringApplication類(lèi)調(diào)用run方法啟動(dòng)Spring
Boot應(yīng)用。5.運(yùn)行main方法啟動(dòng)Spring
Boot應(yīng)用從控制臺(tái)信息可以看到Tomcat的啟動(dòng)過(guò)程、Spring
MVC的加載過(guò)程。注意Spring
Boot內(nèi)嵌Tomcat容器,因此Spring
Boot應(yīng)用不需要開(kāi)發(fā)者配置與啟動(dòng)Tomcat。6.測(cè)試Spring
Boot應(yīng)用啟動(dòng)Spring
Boot應(yīng)用后,默認(rèn)訪問(wèn)地址為:
http://localhost:8080/,將項(xiàng)目路徑直接設(shè)為根路徑,這是
Spring
Boot的默認(rèn)設(shè)置。因此,我們可以通過(guò)
http://localhost:8080/hello測(cè)試應(yīng)用(hello與測(cè)試類(lèi)
TestController中的@RequestMapping(“/hello”)對(duì)應(yīng))。5.2第一個(gè)Spring
Boot應(yīng)用5.2.1
Maven簡(jiǎn)介5.2.2
Maven的pom.xml5.2.3使用STS快速構(gòu)建Spring
Boot應(yīng)用5.2.4
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度個(gè)性化離婚協(xié)議范本(情感補(bǔ)償與子女撫養(yǎng)權(quán))4篇
- 2025裝修補(bǔ)貼合同
- 二零二五年度文化用品批發(fā)合同示范文本3篇
- 二零二五年度留學(xué)保險(xiǎn)及緊急援助服務(wù)協(xié)議3篇
- 二零二五年度誠(chéng)意金合作開(kāi)發(fā)項(xiàng)目協(xié)議范本4篇
- 二零二五年度電商企業(yè)合規(guī)性審查合同4篇
- 二零二五年度超聲刀美容院設(shè)備租賃與運(yùn)營(yíng)管理合同3篇
- 2025年度出納人員遠(yuǎn)程工作聘用合同范本3篇
- 2025年度車(chē)庫(kù)智能停車(chē)系統(tǒng)采購(gòu)合同4篇
- 二零二五年度核能技術(shù)顧問(wèn)聘請(qǐng)合同
- 社區(qū)醫(yī)療抗菌藥物分級(jí)管理方案
- 開(kāi)題報(bào)告-鑄牢中華民族共同體意識(shí)的學(xué)校教育研究
- 《醫(yī)院標(biāo)識(shí)牌規(guī)劃設(shè)計(jì)方案》
- 公司2025年會(huì)暨員工團(tuán)隊(duì)頒獎(jiǎng)盛典攜手同行共創(chuàng)未來(lái)模板
- 新滬科版八年級(jí)物理第三章光的世界各個(gè)章節(jié)測(cè)試試題(含答案)
- 夜市運(yùn)營(yíng)投標(biāo)方案(技術(shù)方案)
- 電接點(diǎn) 水位計(jì)工作原理及故障處理
- 國(guó)家職業(yè)大典
- 2024版房產(chǎn)代持協(xié)議書(shū)樣本
- 2024年3月計(jì)算機(jī)等級(jí)考試三級(jí)數(shù)據(jù)庫(kù)技術(shù)筆試真題及答案
- 公眾號(hào)運(yùn)營(yíng)實(shí)戰(zhàn)手冊(cè)
評(píng)論
0/150
提交評(píng)論