超詳細的SpringBoot入門圖文教程

作者:肖朋偉

鏈接:https://blog.csdn.net/qq_40147863/article/details/84194493

什麼是 Spring Boot?


Spring Boot 是由 Pivotal 團隊提供的全新框架。Spring Boot 是所有基於 Spring Framework 5.0 開發的項目的起點。Spring Boot 的設計是為了讓你儘可能快的跑起來 Spring 應用程序並且儘可能減少你的配置文件。


設計目的:用來簡化新 Spring 應用的初始搭建以及開發過程。


從最根本上來講,Spring Boot 就是一些庫的集合,它能夠被任意項目的構建系統所使用。它使用 “習慣優於配置” (項目中存在大量的配置,此外還內置一個習慣性的配置)的理念讓你的項目快速運行起來。用大佬的話來理解,就是 spring boot 其實不是什麼新的框架,它默認配置了很多框架的使用方式,就像 maven 整合了所有的 jar 包,spring boot 整合了所有的框架,總結一下及幾點:


(1)為所有 Spring 開發提供一個更快更廣泛的入門體驗。


(2)零配置。無冗餘代碼生成和XML 強制配置,遵循“約定大於配置” 。


(3)集成了大量常用的第三方庫的配置, Spring Boot 應用為這些第三方庫提供了幾乎可以零配置的開箱即用的能力。


(4)提供一系列大型項目常用的非功能性特徵,如嵌入式服務器、安全性、度量、運行狀況檢查、外部化配置等。


(5)Spring Boot 不是Spring 的替代者,Spring 框架是通過 IOC 機制來管理 Bean 的。Spring Boot 依賴 Spring 框架來管理對象的依賴。Spring Boot 並不是Spring 的精簡版本,而是為使用 Spring 做好各種產品級準備


Spring Boot 在應用中的角色


  • Spring Boot 是基於 Spring Framework 來構建的,Spring Framework 是一種 J2EE 的框架(什麼是 J2EE?)
  • Spring Boot 是一種快速構建 Spring 應用
  • Spring Cloud 是構建 Spring Boot 分佈式環境,也就是常說的雲應
  • Spring Boot 中流砥柱,承上啟下


超詳細的SpringBoot入門圖文教程


環境準備


(1)JDK 環境必須是 1.8 及以上,傳送門:jdk1.8.191 下載

(2)後面要使用到 Maven 管理工具 3.2.5 及以上版本,所以會先介紹 Maven 的安裝與配置

(3)開發工具建議使用 IDEA,也可以 MyEclips


Maven 安裝與環境變量配置


(1)Maven 安裝:


在官網下載:http://maven.apache.org/download.cgi


超詳細的SpringBoot入門圖文教程


(2)Maven 配置環境變量:


解壓到一個路徑,然後配置環境變量:


  • 新建變量名:MAVEN_HOME 變量值:D:\server\apache-maven-3.6.0(這是我的 MAVEN 路徑)
  • 編輯變量名:Path 在最前面加上:%MAVEN_HOME%\bin


(3)檢查是否配置成功:


在命令行輸入:


<code>mvn -V/<code>


然後會一大堆東西:


超詳細的SpringBoot入門圖文教程


(4)配置 maven 倉庫:


1.打開 maven 文件夾下的 config 文件夾下的 settings.xml;

2.找到 localRepository 標籤,此時是被註釋掉的,我們解除註釋,然後配置一個路徑,例如:D:/space/MavenRepository/maven_jar,這樣以後 MAVEN 管理下載的jar 包都會在這個路徑下。

【注意】:注意結點的位置,先找到註釋掉的部分,貼在下面


<code>D:\space\MavenRepository\maven_jar/<code>
超詳細的SpringBoot入門圖文教程


3.配置遠程倉庫,找到 mirrors 標籤


<code> 

  aliyun
  aliyun Maven
  *
   http://maven.aliyun.com/nexus/content/groups/public/
/<code>


超詳細的SpringBoot入門圖文教程


4.當然我們需要先建這樣一個目錄結構,然後還要把settings.xml 複製一份到 D:/space/MavenRepository 下


超詳細的SpringBoot入門圖文教程


(5)在 idea 配置 maven:


點擊【File】>【Settings】>搜索【Maven】,按截圖配置安裝目錄和選擇剛剛 settings 配置文件;


超詳細的SpringBoot入門圖文教程


選擇完settings之後,本地倉庫自動改成settings文件中配置的;點擊apply,再點擊ok即配置完成。


使用 idea 快速搭建 Spring Boot


第一步:新建 Spring Initializr 項目:


超詳細的SpringBoot入門圖文教程


(1)選擇 Spring Initializr

(2)選擇 SDK,點擊【new】這裡就是使用 JAVA SDK 要求版本 1.8+,選擇你默認安裝在 C:\Program Files\Java\jdk1.8.0_191 目錄:


超詳細的SpringBoot入門圖文教程


(3)然後選擇默認的 url (不用管)點擊【Next】:


超詳細的SpringBoot入門圖文教程


(4)然後填寫一下項目的信息:


超詳細的SpringBoot入門圖文教程


(5)先勾選上 Web 依賴:


超詳細的SpringBoot入門圖文教程


(6)勾選 SQl 下的 MySQL,MyBatis 依賴:


(根據自己的項目選擇,後面可加)


超詳細的SpringBoot入門圖文教程


(7)選擇好項目的位置,點擊【Finish】:


超詳細的SpringBoot入門圖文教程


(8)如果是第一次配置 Spring Boot 的話可能需要等待一會兒 IDEA 下載相應的 依賴包,默認創建好的項目結構如下:


超詳細的SpringBoot入門圖文教程


項目結構還是看上去挺清爽的,少了很多配置文件,我們來了解一下默認生成的有什麼:


  • SpringbootApplication:一個帶有 main() 方法的類,用於啟動應用程序
  • SpringbootApplicationTests:一個空的 Junit 測試了,它加載了一個使用 Spring Boot 字典配置功能的 Spring 應用程序上下文
  • application.properties:一個空的 properties 文件,可以根據需要添加配置屬性
  • pom.xml:Maven 構建說明文件


第二步:HelloController


在 【main/java/com.xpwi.springboot】包下新建一個【HelloController】:


超詳細的SpringBoot入門圖文教程


超詳細的SpringBoot入門圖文教程

第三步:利用 IDEA 啟動 Spring Boot


(1)我們回到 SpringbootApplication 這個類中,然後右鍵點擊運行:


超詳細的SpringBoot入門圖文教程


(2)會提示 Maven 導包,點擊 import


超詳細的SpringBoot入門圖文教程


(3)注意:我們之所以在上面的項目中沒有手動的去配置 Tomcat 服務器,是因為 Spring Boot 內置了 Tomcat


等待一會兒就會看到下方的成功運行的提示信息:


超詳細的SpringBoot入門圖文教程


(4)此時,可以看到我們的 Tomcat 運行在 8080 端口,我們來訪問下面地址試一下:

<code>http://localhost:8080/hello/<code>


超詳細的SpringBoot入門圖文教程

Spring Boot 項目文件介紹


一、解析 pom.xml 文件:


(1)讓我們來看看默認生成的 pom.xml 文件中到底有些什麼:


超詳細的SpringBoot入門圖文教程


超詳細的SpringBoot入門圖文教程

(2)我們可以看到一個比較陌生一些的標籤 ,這個標籤是在配置 Spring Boot 的父級依賴:


<code>
        org.springframework.boot
        spring-boot-starter-parent
        2.1.0.RELEASE
          
    /<code>


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


關於具體 Spring Boot 提供了哪些 jar 包的依賴,我們可以查看本地 Maven 倉庫下:\repository\org\springframework\boot\spring-boot-dependencies\2.1.0.RELEASE\spring-boot-dependencies-2.1.0.RELEASE.pom 文件來查看,挺長的…


二、應用入口類 SpringbootApplication.java


Spring Boot 項目通常有一個名為 *Application 的入口類,入口類裡有一個 main 方法, 這個 main 方法其實就是一個標準的 Javay 應用的入口方法。


@SpringBootApplication 是 Spring Boot 的核心註解,它是一個組合註解,該註解組合了:@Configuration、@EnableAutoConfiguration、@ComponentScan;若不是用 @SpringBootApplication 註解也可以使用這三個註解代替。


其中,@EnableAutoConfiguration 讓 Spring Boot 根據類路徑中的 jar 包依賴為當前項目進行自動配置,例如,添加了 spring-boot-starter-web 依賴,會自動添加 Tomcat 和 Spring MVC 的依賴,那麼 Spring Boot 會對 Tomcat 和 Spring MVC 進行自動配置。


Spring Boot 還會自動掃描 @SpringBootApplication 所在類的同級包以及下級包裡的 Bean ,所以入口類建議就配置在 grounpID + arctifactID 組合的包名下(這裡為 com.xpwi.springboot 包)


三、Spring Boot 的配置文件:


Spring Boot 使用一個全局的配置文件 application.properties 或 application.yml,放置在【src/main/resources】目錄或者類路徑的 /config 下。


Spring Boot 不僅支持常規的 properties 配置文件,還支持 yaml 語言的配置文件。yaml 是以數據為中心的語言,在配置數據的時候具有面向對象的特徵。


Spring Boot 的全局配置文件的作用是對一些默認配置的配置值進行修改。


修改 properties 配置文件實例:


(1)打開 resources 下的 application.properties


超詳細的SpringBoot入門圖文教程


(2)在這裡我們可以設置訪問的端口,將 Tomcat 默認端口設置為 8080 (默認的不修改) ,並將默認的訪問路徑從 “/” 修改為 “/cn” 時,再訪問 http://localhost:8080/ 是什麼都沒有的,此時要訪問 hello 是要使用 http://localhost:8080/cn/hello


超詳細的SpringBoot入門圖文教程


注意:如果是 yml 需要在 “:” 後加一個空格,幸好 IDEA 很好地支持了 yml 文件的格式有良好的代碼提示;


我們可以自己配置多個屬性


(3)使用 yml 文件作為配置文件,我們直接把 .properties 後綴的文件刪掉,使用 .yml 文件來進行簡單的配置


超詳細的SpringBoot入門圖文教程


(4)在然後使用在我們的 HelloController.java 類中使用 @Value 來獲取配置屬性,代碼(請看註釋):


超詳細的SpringBoot入門圖文教程

(5)重啟 Spring Boot ,輸入地址:http://localhost:8080/hello 能看到正確的結果:


超詳細的SpringBoot入門圖文教程

【注意】:此時如果你第一次使用 idea 出現中文亂碼,解決辦法:


超詳細的SpringBoot入門圖文教程


(6)【注意】:我們並沒有在 yml 文件中註明屬性的類型,而是在使用的時候定義的。你也可以在配置文件中使用當前配置:


超詳細的SpringBoot入門圖文教程


(7)任然可以得到正確結果.


(8)【問題】:這樣寫配置文件繁瑣而且可能會造成類的臃腫,因為有許許多多的 @Value 註解。


可以,封裝配置信息


封裝配置信息使用方法:


(1)application.yml 文件內容如下:


超詳細的SpringBoot入門圖文教程


(2)新建 author.java 和 HelloController.java 同級,內容如下:


超詳細的SpringBoot入門圖文教程

(3)此時可能會報錯,如果報錯,打開 pom.xml 文件,添加內容(注意位置):


<code>
            org.springframework.boot
            spring-boot-configuration-processor
            true
        /<code>


超詳細的SpringBoot入門圖文教程


(4)重新編寫 HelloController 類,內容如下:


超詳細的SpringBoot入門圖文教程

(5)重啟 Spring Boot,訪問瀏覽器:


<code>http://localhost:8080/hello/<code>


【提示】:我們可以把配置信息封裝成一個類,首先在我們的 name 和 age 前加一個 student 前綴,然後新建一個 StudentProperties 的類用來封裝這些信息,並用上兩個註解:


  • @Component:表明當前類是一個 Java Bean
  • @ConfigurationProperties(prefix = “author”):表示獲取前綴為 author 的配置信息


分享到:


相關文章: