SpringBoot--------概要 & 快速入門(一)

 

 

第1章 SpringBoot概要 & 快速入門

 

1.1 SpringBoot 介紹 

隨着動態語言的流行(Ruby、Scala、Node.js), Java的開發顯得格外的笨重;繁多的配置、低下的開發效

率、複雜的部署流程以及第三方技術整合難度大。

在上述環境下,Spring Boot由此誕生,它的設計是爲了使您能夠儘可能快地啓動和運行。它使用 “習慣優於

配置” (項目中存在大量的配置,而 Spring Boot 內置一個習慣性的配置,讓你無須手動進行配置)的理念讓

你的項目快速運行起來。使用 Spring Boot 很容易創建一個獨立運行(運行jar,內嵌 Servlet 容器)、準生產

強力的基於 Spring 框架的項目,使用 Spring Boot你可以不用或者只需要很少的 Spring 配置。提供了 J2EE

開發的一站式解決方案。

 

1.2 Spring Boot 優點

快速構建獨立運行的Spring項目;

無須依賴外部Servlet容器,應用無需打成WAR包;項目可以打成jar包獨自運行;

提供 一系列 starter pom 來簡化 Maven 的依賴加載;

大量的自動配置,對主流開發框架的無配置集成;

無須配置XML,開箱即用,簡化開發,同時也可以修改默認值來滿足特定的需求;

Spring Boot 並不是對 Spring 功能上的增強,而是提供了一種快速使用 Spring 的方式;

極大提高了開發、部署效率。

 

1.3 Spring Boot 入門開發

技術點要求:

熟練 Spring 框架的使用

熟練 Maven 依賴管理與項目構建

熟練使用 Eclipse 或 IDEA

 

1.3.1 環境要求

jdk1.8 (Spring Boot 推薦jdk1.8及以上): java version "1.8.0_151"

Maven 3.x (maven 3.2 以上版本):Apache Maven 3.3.9

IntelliJ IDEA :IntelliJ IDEA 2018.2.2 x64

SpringBoot 使用當前最新穩定版本:第4章web開發前 2.0.6.RELEASE ,後面使用 2.1.0.RELEASE

 

 

1.3.2 修改Maven配置文件

在 Maven 安裝目錄下的 settings.xml 配置文件中, 添加如下配置

 

 

1.3.3 IntelliJ IDEA 設置

 

 

 

 

1.3.4 快速構建 Spring Boot 項目

需求:瀏覽器發送 /hello 請求,服務器接受請求並處理,響應 Hello World 字符串

分析 :構建 Spring Boot 項目,事實上建立的就是一個 Maven 項目

1)創建 Maven工程

在 IDEA上新建一個空的jar類型 的 maven 工程

 

 

2)修改 pom.xml

在 pom.xml 中添加 Spring Boot 相關的父級依賴, spring-boot-starter-parent 是一個特殊的starter,

它提供了項目相關的默認依賴,使用它之後 ,常用的包依賴可以省去 version 標籤。 

 

 

我們會驚奇地發現,我們的工程自動添加了好多好多jar包, 這些 jar包正是開發時需要導入的jar包

 

3) 創建控制器 Controller

 

4)創建一個引導類

主要作用是作爲啓動 Spring Boot 項目的入口

 

 

5)運行效果

運行 引導類 後,會出現 如下一個標識,你能不能看出來下邊這個圖是什麼東西?

在瀏覽器地址欄輸入 localhost:8080/hello 即可看到運行結果

 

 

 

6)簡化部署

在 pom.xml 添加如下插件後, 將這個工程打成 jar 包後,可直接通過 java -jar 的命令運行

 

 

如下操作進行打成 jar 包, 從控制檯可發現 打成的jar包所在目錄

 

 

 

 

1.4 Spring Boot項目底層原理

1.4.1 pom.xml文件

1)spring-boot-starter-parent 是當前項目的父級依賴

 

 

 

2)spring-boot-starter-web

 

 

 

依賴導入了 Web 項目運行所依賴的組件;如 Tomcat / SpringMVC等

 

1.4.2 引導類

 

通常有一個名爲 *Application 的入口 類,裏面定義一個main方法,使用

SpringApplication.run(HelloMailAppliation.class, args); 來啓動 SpringBoot 應用項目

@SpringBootApplication 註解主要組合了 @SpringBootConfiguration、@EnableAutoConfiguration、

@ComponentScan

@SpringBootApplication 註解說明:

標註在某個類上, 說明這個類是 Spring Boot 的引導類,Spring Boot 就應該運行這個類的main方法來

啓動 SpringBoot 應用;

 

@SpringBootApplication 是以下3個註解的總和:

@SpringBootConfiguration:用於定義一個Spring Boot的配置類( 配置類 等同 配置文件)

引用了 @Configuration 註解,是Spring底層的一個註解,用於定義 Spring 的配置類。

配置類也是容器中的一個組件 @Component

@EnableAutoConfiguration :

告訴Spring Boot開啓自動配置功能,這樣Spring Boot會自動根據你導入的依賴jar包來自動

配置項目。

 

@AutoConfigurationPackage ——》 @Import({Registrar.class})

會將引導類(@SpringBootApplication標註的類)所在的包及下面所有子包裏面的所有

組件掃描到Spring容器;

@Import({AutoConfigurationImportSelector.class})

將所有需要導入的組件以全類名的方式返回; 這些組件就會被添加到容器中

會給容器導入非常多的自動配置類(xxxxAutoConfiguration),就是導入並配置好當前項目

中所需要的組件,省去我們手動編寫配置去注入組件.

 

Spring Boot在啓動的時候從(spring-boot-autoconfigure-2.0.6.RELEASE.jar)類路徑下的METAINF/spring.factories中獲取EnableAutoConfiguration指定的值,將這些值作爲自動配置類導入到容器中,動配置類就生效,幫我們進行自動配置工作;以前我們需要自己配置的文件,自動配置類都幫我們完成了;

 

@ComponentScan: 該註解標識的類, 會被 Spring 自動掃描並且裝入bean容器。

 

1.5 使用Spring初始化器創建Spring Boot項目

注意:初始化嚮導需要聯網創建Spring Boot項目

 

引入功能模塊

 

默認生成的Spring Boot項目;

 

刪除不需要的文件與目錄 , spring-boot-starter-test 是 Spring Boot 單元測試模塊

引導類已經生成了,我們只需要實現業務即可

 

resources 文件夾中目錄結構:

    static :保存所有的靜態資文件, js css images

    templates :保存所有的模板頁面(Spring Boot默認jar包使用嵌入式的Tomcat,默認不支持JSP頁

面),可以使用模板引擎(freemarker、thymeleaf);

    application.properties :Spring Boot應用的配置文件;可以修改一些默認設置;

如修改默認端口 server.prot=8081 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章