SpringBoot學習<一>(創建介紹,配置文件的講解)

Spring Boot

SpringBoot是由Pivotal團隊在2013年開始研發、2014年4月發佈第一個版本的全新開源的輕量級框架。它基於Spring4.0設計,不僅繼承了Spring框架原有的優秀特性,而且還通過簡化配置來進一步簡化了Spring應用的整個搭建和開發過程。另外SpringBoot通過集成大量的框架使得依賴包的版本衝突,以及引用的不穩定性等問題得到了很好的解決。

優點:

(1)可以創建獨立的Spring應用程序,並且基於其Maven或Gradle插件,可以創建可執行的JARs和WARs;

(2)內嵌Tomcat或Jetty等Servlet容器;

(3)提供自動配置的“starter”項目對象模型(POMS)以簡化Maven配置;

(4)儘可能自動配置Spring容器;

(5)提供準備好的特性,如指標、健康檢查和外部化配置;

(6)絕對沒有代碼生成,不需要XML配置。

創建一個SpringBoot示例

環境:

1.Jdk1.8版本

2.maven 3.3以上版本

Maven設置:

給maven 的settings.xml配置文件的profiles標籤添加:(設置使用的jdk版本)

開發工具中的maven設置為自己配置的maven

SpringBoot學習<一>(創建介紹,配置文件的講解)


創建一個maven工程:

(1)導入spring boot相關的依賴

SpringBoot學習<一>(創建介紹,配置文件的講解)


(2)編寫一個主程序;啟動Spring Boot應用

SpringBoot學習<一>(創建介紹,配置文件的講解)


(3)編寫一個Controller

SpringBoot學習<一>(創建介紹,配置文件的講解)


(4)運行主程序Main方法測試

(5)訪問 localhost:8080/hello

至此springboot配置完成,不需要任何的xml配置,不要安裝tomcat,直接運行,即可訪問。

簡化部署

(1)添加maven插件

SpringBoot學習<一>(創建介紹,配置文件的講解)


(2) 使用mvn package進行打包

(3) 進入打包好的jar包所在目錄

(4) 使用 java -jar jar包名稱 運行

探究

1、父項目

Spring Boot的版本仲裁中心;

以後我們導入依賴默認是不需要寫版本;(沒有在dependencies裡面管理的依賴自然需要聲明版本號)

2、啟動器

SpringBoot學習<一>(創建介紹,配置文件的講解)


spring-boot-starter-web:

spring-boot-starter:spring-boot場景啟動器;幫我們導入了web模塊正常運行所依賴的組件;

Spring Boot將所有的功能場景都抽取出來,做成一個個的starters(啟動器),只需要在項目裡面引入這些starter

相關場景的所有依賴都會導入進來。要用什麼功能就導入什麼場景的啟動器。

3.主程序類,主入口類

SpringBoot學習<一>(創建介紹,配置文件的講解)

@SpringBootApplication: Spring Boot應用標註在某個類上說明這個類是SpringBoot的主配置類,SpringBoot就應該運行這個類的main方法來啟動SpringBoot應用;

SpringBoot學習<一>(創建介紹,配置文件的講解)

@SpringBootConfifiguration:Spring Boot的配置類;

標註在某個類上,表示這是一個Spring Boot的配置類;

@Confifiguration:配置類上來標註這個註解;

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


@EnableAutoConfifiguration:開啟自動配置功能;

以前我們需要配置的東西,Spring Boot幫我們自動配置;@EnableAutoConfifiguration告訴SpringBoot開啟自

動配置功能;這樣自動配置才能生效;

SpringBoot學習<一>(創建介紹,配置文件的講解)

@AutoConfifigurationPackage:自動配置包

@Import(AutoConfifigurationPackages.Registrar.class):

Spring的底層註解@Import,給容器中導入一個組件;導入的組件由

AutoConfifigurationPackages.Registrar.class;

將主配置類(@SpringBootApplication標註的類)的所在包及下面所有子包裡面的所有組件掃描到Spring容器;

@Import(EnableAutoConfifigurationImportSelector.class);

給容器中導入組件?

EnableAutoConfifigurationImportSelector:導入哪些組件的選擇器;

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

會給容器中導入非常多的自動配置類(xxxAutoConfifiguration);就是給容器中導入這個場景需要的所有組件,

並配置好這些組件;

SpringBoot學習<一>(創建介紹,配置文件的講解)

有了自動配置類,免去了我們手動編寫配置注入功能組件等的工作;

SpringFactoriesLoader.loadFactoryNames(EnableAutoConfiguration.class,classLoader);

Spring Boot在啟動的時候從類路徑下的META-INF/spring.factories中獲取EnableAutoConfiguration指定的值,將這些值作為自動配置類導入到容器中,自動配置類就生效,幫我們進行自動配置工作;以前我們需要自己配置的東西,自動配置類都幫我們;

J2EE的整體整合解決方案和自動配置都在spring-boot-autoconfigure-1.5.9.RELEASE.jar;

快速創建Spring Boot項目

1、IDEA:使用 Spring Initializer快速創建項目

IDE都支持使用Spring的項目創建嚮導快速創建一個Spring Boot項目;

選擇我們需要的模塊;嚮導會聯網創建Spring Boot項目;

默認生成的Spring Boot項目;

主程序已經生成好了,我們只需要我們自己的邏輯

resources文件夾中目錄結構

static:保存所有的靜態資源; js css images;

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

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

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

2、STS使用 Spring Starter Project快速創建項目

配置文件

SpringBoot使用一個全局的配置文件,配置文件名是固定的;

application.properties

application.yml

配置文件的作用:修改SpringBoot自動配置的默認值;SpringBoot在底層都給我們自動配置好;

YAML(YAML Ain't Markup Language)標記語言

以前的配置文件;大多都使用的是 xxxx.xml文件;

YAML:以數據為中心,比json、xml等更適合做配置文件;

YAML:配置例子

SpringBoot學習<一>(創建介紹,配置文件的講解)

XML:

SpringBoot學習<一>(創建介紹,配置文件的講解)

YAML語法

1、基本語法

k:(空格)v:表示一對鍵值對(空格必須有);

以空格的縮進來控制層級關係;只要是左對齊的一列數據,都是同一個層級的

SpringBoot學習<一>(創建介紹,配置文件的講解)

屬性和值也是大小寫敏感;

2、值的寫法

字面量:普通的值(數字,字符串,布爾)

k: v:字面直接來寫;

字符串默認不用加上單引號或者雙引號;

"":雙引號;不會轉義字符串裡面的特殊字符;特殊字符會作為本身想表示的意思

name: "zhangsan \\n lisi":輸出;zhangsan 換行 lisi

'':單引號;會轉義特殊字符,特殊字符最終只是一個普通的字符串數據

name: ‘zhangsan \\n lisi’:輸出;zhangsan \\n lisi

對象、Map(屬性和值)(鍵值對):

k: v:在下一行來寫對象的屬性和值的關係;注意縮進

對象還是k: v的方式

SpringBoot學習<一>(創建介紹,配置文件的講解)

數組(List、Set):

用- 值表示數組中的一個元素

SpringBoot學習<一>(創建介紹,配置文件的講解)

行內寫法:

pets: [cat,dog,pig]


第一篇介紹到這,後續將繼續講解springboot其他部分。


分享到:


相關文章: