十萬個爲什麼之什麼是SpringBoot

1.什麼是springboot

簡單的說: spring boot就是整合了spring大家族衍生框架(Spring,SpringMVC...)各優點的一個新框架;

a)一種全新的編程規範,簡化了框架的使用,去除Spring衆多框架中所需的大量且繁瑣的配置文件 --- "習慣優於配置";

b)敏捷開發Spring應用程序,專注於應用程序功能 -- 可獨立運行(運行jar,內嵌Servlet容器); 

2.Spring Boot 獨特性

鑑於有很多誤解,特區分下和我們常用用於有什麼區別

  •  Spring Boot更多的是採用Java Config的方式,對Spring進行配置。
  • 配置簡單
    • 基於註解,及config
    • yml文件;
  • 部署簡單
    • 一鍵啓動
    • java -jar standalone.jar
  • 監控簡單: springBoot-actuator
    • 查看屬性配置
    • 線程工作狀態
    • 環境變量
    • JVM性能指標
    • RESTFul Path與服務類的映射關係
    • ...

3.Spring Boot核心

  • 自動配置 : 針對很多Spring應用程序常見功能,SpringBoot能自動提供相關配置;

以往,在任何的spring項目中,你都會找到Java配置或一大堆的XML配置文件,它們爲應用程序開啓了特定的特性和功能。看以下幾個例子: 
1.  web.xml

這裏寫圖片描述

2.jdbcTemplate

這裏寫圖片描述

3.事務管理

這裏寫圖片描述

在以上三個例子中,很多配置都是複雜並且模板化,這提高了我們開發的成本。而在springboot中這些都自動爲我們做好了,讓開發人員更加專注於業務需求的開發。

  • 起步依賴: 告訴Spring Boot需要什麼功能

 

  • 命令行界面: SpringBoot可選特性,無需傳統創建,快速搭建項目
  • Actuator: 提供在運行時檢視應用程序內部情況的能力

Actuator則要提供在運行時檢視應用程序內部情況的能力。安裝了Actuator就能窺探應用程序的內部情況了,包括如下細節:

  1. Spring應用程序上下文裏配置的Bean
  2. Spring Boot的自動配置做的決策
  3. 應用程序取到的環境變量、系統屬性、配置屬性和命令行參數
  4. 應用程序裏線程的當前狀態
  5. 應用程序最近處理過的HTTP請求的追蹤情況
  6. 各種和內存用量、垃圾回收、Web請求以及數據源用量相關的指標

Actuator通過Web端點和shell界面向外界提供信息。如果要藉助shell界面,你可以打開SSH(Secure Shell),登入運行中的應用程序,發送指令查看它的情況。

  • 內嵌容器: 可獨立運行
  • YML配置文件: 區別於傳統Properties文件方式

傳統項目中使用properties文件作爲key-value的載體,但其缺點也是明顯的。會重複的進行鏈式配置,而YML文件則避免了這個問題。

Properties文件方式

#Properties配置數據庫連接
spring.datasource.url=jdbc:mysql://localhost:3306/config
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

Yml文件方式

#YML配置數據庫連接
Spring:
Datasource: 
    url: jdbc:mysql://localhost:3306/config
    username: root
    password: 123456
    driver-class-name: com.mysql.jdbc.Driver

 

這裏發現一個有意思的 springoot中文文檔,也很詳細了;

http://blog.geekidentity.com/spring/spring_boot_translation/

 

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