日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

SpringBoot学习系列之一

發(fā)布時間:2025/3/15 javascript 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SpringBoot学习系列之一 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、SpringBoot是什么

spring Boot可以基于Spring輕松創(chuàng)建可以“運行”的、獨立的、生產(chǎn)級的應(yīng)用程序。 對Spring平臺和第三方類庫我們有自己看法和意見(約定大于配置),所以你最開始的時候不要感到奇怪。大多數(shù)Spring Boot應(yīng)用程序需要很少的Spring配置。

您可以使用Spring Boot創(chuàng)建可以使用java -jar或傳統(tǒng) war 包部署啟動的Java應(yīng)用程序。 我們還提供一個運行“spring scripts”的命令行工具。

那我們舉個栗子:

假設(shè)你受命用Spring開發(fā)一個簡單的Hello World Web應(yīng)用程序。你該做什么?我能想到一些基本的需要。

1.一個項目結(jié)構(gòu),其中有一個包含必要依賴的Maven或者Gradle構(gòu)建文件,最起碼要有SpringMVC和Servlet API這些依賴。

2.?一個web.xml文件(或者一個 WebApplicationInitializer 實現(xiàn)),其中聲明了Spring的 DispatcherServlet 。

3.一個啟用了Spring MVC的Spring配置。

4.一個控制器類,以“Hello World”響應(yīng)HTTP請求。

5.一個用于部署應(yīng)用程序的Web應(yīng)用服務(wù)器,比如Tomcat。

最讓人難以接受的是,這份清單里只有一個東西是和Hello World功能相關(guān)的,即控制器,剩下的都是Spring開發(fā)的Web應(yīng)用程序必需的通用樣板。既然所有Spring Web應(yīng)用程序都要用到它們,那為什么還要你來提供這些東西呢?

而我們要用SpringBoot來寫一個HelloWorld的WEB應(yīng)用程序。我們需要做些什么呢。

1.?設(shè)置SpringBoot的Parent

?

2.?導入SpringBoot的Web支持

?

3.?在啟動類中寫一個HelloWorld的方法

?

4.然后在地址欄中輸入:localhost:8080/helloboot,就會出來我們想要的內(nèi)容。

其實我們用IDEA來開發(fā)的話,第一步第二步也不需要我們?nèi)プ?#xff0c;直接選擇SpringIntializr來進行開發(fā)就可以了。

?

所以你現(xiàn)在是不是明白SpringBoot是做什么的,和Spring有什么區(qū)別了呢。

二、SpringBoot的特點

????????1.自動配置:針對很多Spring應(yīng)用程序常見的應(yīng)用功能,Spring Boot能自動提供相關(guān)配置。Spring Boot實現(xiàn)了自動配置,這讓Spring能夠智能探測正在構(gòu)建何種應(yīng)用程序,自動配置必要的組件以滿足應(yīng)用程序的需要。對于那些常見的配置場景,不再需要顯式地編寫配置了,Spring會替你料理好一切。

????????2.起步依賴:告訴Spring Boot需要什么功能,它就能引入需要的庫。

????????3.命令行界面:這是Spring Boot的可選特性,借此你只需寫代碼就能完成完整的應(yīng)用程序,無需傳統(tǒng)項目構(gòu)建。

????????4.Actuator:讓你能夠深入運行中的Spring Boot應(yīng)用程序,一探究竟。

三、代碼解釋

????????1、Spring Boot父級依賴,有了這個,當前的項目就是Spring Boot項目了,spring-boot-starter-parent是一個特殊的starter,它用來提供相關(guān)的Maven默認依賴,使用它之后,常用的包依賴可以省去version標簽。

????????2、在pom.xml文件中,dependencies是父起步依賴。

Spring Boot通過提供眾多起步依賴降低項目依賴的復雜度。起步依賴本質(zhì)上是一個Maven項目對象模型(Project Object Model,POM),定義了對其他庫的傳遞依賴,這些東西加在一起即支持某項功能。很多起步依賴的命名都暗示了它們提供的某種或某類功能。

????????3、Spring Boot提供了很多”開箱即用“的依賴模塊,都是以spring-boot-starter-xx作為命名的。舉個例子來說明一下這個起步依賴的好處,比如組裝臺式機和品牌機,自己組裝的話需要自己去選擇不同的零件,最后還要組裝起來,期間有可能會遇到零件不匹配的問題。耗時又消力,而品牌機就好一點,買來就能直接用的,后續(xù)想換零件也是可以的。相比較之下,后者帶來的效果更好點(這里就不討論價格問題哈),起步依賴就像這里的品牌機,自動給你封裝好了你想要實現(xiàn)的功能的依賴。就比如我們之前要實現(xiàn)web功能,引入了spring-boot-starter-web這個起步依賴。

????4、@SpringBootApplication 開啟了Spring的組件掃描和Spring Boot的自動配置功能。實際上, @SpringBootApplication 將三個有用的注解組合在了一起。

????????Spring的 @Configuration :標明該類使用Spring基于Java的配置。

????????Spring的 @ComponentScan :啟用組件掃描,這樣你寫的Web控制器類和其他組件才能被自動發(fā)現(xiàn)并注冊為Spring應(yīng)用程序上下文里的Bean。

????????Spring Boot 的 @EnableAutoConfiguration :啟用 Spring 應(yīng)用程序上下文的自動配置,試圖猜測和配置您可能需要的bean。自動配置類通常采用基于你的 classpath 和已經(jīng)定義的 beans 對象進行應(yīng)用。

就是這一行配置開啟了Spring Boot自動配置的魔力,讓你不用再寫成篇的配置了。

????????5、@RestController注解相當于@ResponseBody + @Controller合在一起的作用。

????1)如果只是使用@RestController注解Controller,則Controller中的方法無法返回jsp頁面,配置的視圖解析器InternalResourceViewResolver則不起作用,返回的內(nèi)容就是Return 里的內(nèi)容(String/JSON)。
例如:本來應(yīng)該到success.jsp頁面的,則其顯示success.

????2)如果使用@RestController注解Controller,需要返回到指定頁面,則需要配置視圖解析器InternalResourceViewResolver,可以利用ModelAndView返回試圖。

????3)如果使用@Controller注解Controller,如果需要返回JSONXML或自定義mediaType內(nèi)容到頁面,則需要在對應(yīng)的方法上加上@ResponseBody注解。

?

?

?

?

?

?

?

?


總結(jié)

以上是生活随笔為你收集整理的SpringBoot学习系列之一的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。