前言git
儘管 Spring 帶來的主要益處就是簡化 Java 開發,但 Spring Boot 讓這項任務變得更加簡單。
主要特性redis
一、Spring Boot Starter:它將經常使用的依賴分組進行了整合,將其合併到一個依賴中,這樣就能夠一次性添加 到項目的 Maven 或 Gradle 構建中。
二、自動配置:Spring Boot 的自動配置特性利用了 Spring 4 對條件化配置的支持,合理地推測應用所需的 bean 並自動化配置它們。
三、命令行接口(Command-line interface,CLI):Spring Boot 的 CLI 發揮了Groovy 編程語言的優點, 並結合自動配置進一步簡化 Spring 應用的開發。
四、Actuator:它爲 Spring Boot 應用添加了必定的管理特性。
1、Spring Boot 提供了多個 Starterspring
若是查看這些 Starter 以來的內部原理,你會發現 Starter 的工做方式也沒有什麼神祕之處。它使用了 Maven 和 Gradle 的以來傳遞方案,Starter 在本身的 pom.xml 文件中聲明瞭多個依賴。當咱們將某一個 Starter 依賴添加到 Maven 或 Gradle 構建中的時候,Starter 的依賴將會自動地傳遞性解析。這些依賴本 身可能也會有其餘的依賴。一個 Starter 可能會傳遞性的一如幾十個依賴。
2、自動配置編程
Spring Boot 的 Starter 減小了構建中依賴列表的長度,而 Spring Boot 的自動配置功能則消減了 Spring 配置 的數量。它在實現時,會考慮應用中的其餘因素並推斷你所須要的 Spring 配置。 在 Spring Boot 應用中,若是咱們想要使用 Spring MVC 的話,所須要作的僅僅是將 Web Starter 做爲依賴放 到構建之中。將 Web Starter 做爲依賴放到構建中之後,它會自動添加 Spring MVC 依賴。若是 Spring Boot 的 Web 自動配置探測到 Spring MVC位於類路徑下,它將會自動配置支持的 Spring MVC 的多個 bean,包括視圖解析器、 資源處理器以及消息轉換器(等等)。
3、Spring Boot CLIspringboot
用來闡述 Spring Boot CLI 的最有趣的例子就是以下的 Groovy 腳本: @RestController class Hi { @RequestMapping("/") String hi() { "Hi!" } } 無論你是信不信,這是一個完整的 Spring 應用,它能夠在 Spring Boot CLI 中運行。包括空格,它的長度只有82個字符。 在應用的運行過程當中,CLI 可以自動導入 Spring 類型並解析依賴。
4、Actuatormybatis
Spring Boot Actuator 爲 Spring Boot 項目帶來了不少有用的特性,包括: 一、管理站點 二、合理的異常處理以及默認的 「/error」 映射端點 三、獲取應用信息的 「/info」 端點 四、當啓用 Spring Security 時,會有一個審計事件框架
5、代碼示例 app
helloworld:https://gitee.com/sfbp/spring-boot-helloworld 攔截器:https://gitee.com/sfbp/springboot-interceptor 整合mybatis:https://gitee.com/sfbp/springboot-mybatis 整合redis:https://gitee.com/sfbp/springboot-redis