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就能窺探應用程序的內部情況了,包括如下細節:
- Spring應用程序上下文裏配置的Bean
- Spring Boot的自動配置做的決策
- 應用程序取到的環境變量、系統屬性、配置屬性和命令行參數
- 應用程序裏線程的當前狀態
- 應用程序最近處理過的HTTP請求的追蹤情況
- 各種和內存用量、垃圾回收、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/