Spring boot 簡化Spring應用開發,去繁從簡,just run 就能創建一個獨立的,產品級別的應用。
一、微服務
一個應用應該是一組小型服務;
服務之間通過HTTP的方式進行互通;
每個功能元素最終都是一個可獨立替換和獨立升級的軟件單元;
使用 Spring cloud進行網狀的互連互調、流式數據計算批處理等。
二、優點
快速創建獨立運行的Spring項目以及與主流框架集成
使用嵌入式的Servlet容器,應用無需打成WAR包
starters自動依賴與版本控制
大量的自動配置,簡化開發,也可修改默認值
無需配置XML,無代碼生成,開箱即用
準生產環境的運行時應用監控
與雲計算的天然集成
三、HelloWorld
1> 導入spring boot 依賴
2> 編寫主程序
@SpringBootApplication:來標註一個主程序類,說明這是一個Spring Boot應用;
SpringAppliaction.run(DemoApplication.class,args):Spring 應用啓動起來
3> 編寫業務邏輯
4> 啓動運行
5> 簡化部署
- 導入spring boot插件
- 將應用打成jar包
- 使用 java -jar 的命令執行
三、HelloWorld探索
1、POM文件
1> 父項目 - 管理Spring Boot應用裏面的所有依賴版本(在dependencies中有管理的,導入依賴默認不需要寫版本)
2> 啓動器starter - 幫我們導入了web模塊正常運行所依賴的組件。
Spring Boot 將所有的功能場景抽取出來,做成一個個的starters(啓動器),只需要在項目裏引用這些starter,其相關場景的所有依賴都會導入進來。
2、@SpringBootApplication
Spring Boot 應用標註在某個類上,說明這個類是SpringBoot的主配置類,SpringBoot就應該運行這個類的main方法來啓動SpringBoot應用。
註解 |
含義 |
@SpringBootConfiguration |
SpringBoot的配置類。 標註在某個類上,表示該類是一個SpringBoot的配置類。 @Configuration:配置類(以前的配置文件)標註這個註解,配置類也是容器中的一個組件。 |
@EnableAutoConfiguration |
開啓自動配置功能。 @AutoConfigurationPackage:自動配置包 @Import:Spring的底層註解,給容器中導入一個組件。 @Import(AutoConfigurationPackage.Registrar.class):將主配置類的所有包以及子包的所有組件都掃描到Spring容器。 @Import(EnableAutoConfiguration.AutoConfigurationImportSelector.class):導入哪些組件選擇器。會給容器導入非常多的自動配置類(xxxAutoConfiguration) |
四、使用Spring Initializer 快捷創建SpringBoot項目
默認生成的SpringBoot項目:主程序已經生成好了,我們只需寫業務邏輯;
resources文件夾中目錄結構:
static:保存所有的靜態資源 js,css,images;
templates:保存所有的模板頁面 SpringBoot默認jar包使用嵌入式的Tomcat,默認不支持jsp頁面,可以使用模板引擎 (freemarker、thymeleaf)
Application.properties:SpringBoot應用的配置文件。