SpringBoot底層原理及分析


一,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機制 !


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM