一,Spring Boot簡介
1.什么是Spring Boot;
SpringBoot是由Pivotal團隊提供的框架,其設計目的是用來簡化新Spring應用的初始搭建以及開發過程。
該框架使用了特定的方式(繼承starter,約定優先於配置)來進行配置,從而使開發人員不再需要定義樣板化的配置。通過這種方式,Boot致力於在蓬勃發展的快速應用開發領域(rapid application development)成為領導者。
Spring Boot並不是一個框架,從基本上來說,它就是一些庫的集合,Maven或者Gradle項目導入相應依賴即可使用Spring Boot,而且無需自行管理這些庫的版本。
2.為什么要使用Spring Boot;
Spring Boot是為簡化Spring項目配置而生,使用它使得jar依賴管理以及應用編譯和部署更為簡單。Spring Boot提供自動化配置,使用Spring Boot,你只需編寫必要的代碼和配置必須的屬性。
使用Spring Boot,只需20行左右的代碼即可生成一個基本的Spring Web應用,並且內置了tomcat,構建的fat Jar包通過Java -jar就可以直接運行;
如下特性使得Spring Boot非常契合微服務的概念,可以結合Spring Boot與Spring Cloud和Docker技術來構建微服務並部署到雲端:
一個可執行jar即為一個獨立服務很容易加載到容器,每個服務可以在自己的容器(例如docker)中運行;
通過一個腳本就可以實現配置與部署,很適合雲端部署,並且自動擴展也更容易;
簡單來說SpringBoot比SSM搭建的更為簡單,使配置更簡單,使jar導入的更簡單,使監控更簡單;
3 Spring Boot提供哪些功能
Spring boot通過SpringBoot Starter項目管理其提供的所有依賴的版本,當升級SpringBoot時,這些依賴的版本也會隨之升級。個人無需指定版本號。
但是也可以自定義版本號覆蓋SpringBoot的默認值。每個版本的boot都有對應的Base Spring Version,不建議明確地指定Spring版本。
例如,使用Maven時,只需簡單的在Pom中包含Spring-boot-starter-web即引入了Spring MVC和Tomcat的依賴。
下面是Spring Boot在 org.springframework.boot 組下提供的一些Starters:
4.SpringBoot核心原理及核心配置文件
1.核心原理:
1: 基於SpringMVC無配置文件(純Java)完全注解化+內置tomcat-embed-core實現SpringBoot框架,Main函數啟動。
2:SpringBoot核心快速整合第三方框架原理:Maven繼承依賴關系
2.核心機制:
1.bootstrap (.yml 或者 .properties);或者 application (.yml 或者 .properties);
2.bootstrap:boostrap 由父 ApplicationContext 加載,比 applicaton 優先加載,boostrap 里面的屬性不能被覆蓋
3:application: 配置文件這個容易理解,主要用於 Spring Boot 項目的自動化配置
通常情況下用到的是application機制 !