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

歡迎訪問 生活随笔!

生活随笔

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

javascript

SpringBoot学习系列之一

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

一、SpringBoot是什么

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

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

那我們舉個栗子:

假設你受命用Spring開發一個簡單的Hello World Web應用程序。你該做什么?我能想到一些基本的需要。

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

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

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

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

5.一個用于部署應用程序的Web應用服務器,比如Tomcat。

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

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

1.?設置SpringBoot的Parent

?

2.?導入SpringBoot的Web支持

?

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

?

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

其實我們用IDEA來開發的話,第一步第二步也不需要我們去做,直接選擇SpringIntializr來進行開發就可以了。

?

所以你現在是不是明白SpringBoot是做什么的,和Spring有什么區別了呢。

二、SpringBoot的特點

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

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

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

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

三、代碼解釋

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

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

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

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

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

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

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

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

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

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

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

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

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

?

?

?

?

?

?

?

?


總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。