SpringBoot基於Spring4.0設計,不僅繼承了Spring框架原有的優秀特性,而且還通過簡化配置來進一步簡化了Spring應用的整個搭建和開發過程。另外SpringBoot通過集成大量的框架使得依賴包的版本沖突,以及引用的不穩定性等問題得到了很好的解決。
SpringBoot所具備的特征有:
(1)可以創建獨立的Spring應用程序,並且基於其Maven或Gradle插件,可以創建可執行的JARs和WARs;
(2)內嵌Tomcat或Jetty等Servlet容器;
(3)提供自動配置的“starter”項目對象模型(POMS)以簡化Maven配置;
(4)盡可能自動配置Spring容器;
(5)提供准備好的特性,如指標、健康檢查和外部化配置;
(6)絕對沒有代碼生成,不需要XML配置。
SpringBoot框架中還有兩個非常重要的策略:開箱即用和約定優於配置。開箱即用,Outofbox,是指在開發過程中,通過在MAVEN項目的pom文件中添加相關依賴包,然后使用對應注解來代替繁瑣的XML配置文件以管理對象的生命周期。這個特點使得開發人員擺脫了復雜的配置工作以及依賴的管理工作,更加專注於業務邏輯。約定優於配置,Convention over configuration,是一種由SpringBoot本身來配置目標結構,由開發者在結構中添加信息的軟件設計范式。這一特點雖降低了部分靈活性,增加了BUG定位的復雜性,但減少了開發人員需要做出決定的數量,同時減少了大量的XML配置,並且可以將代碼編譯、測試和打包等工作自動化。
SpringBoot應用系統開發模板的基本架構設計從前端到后台進行說明:前端常使用模板引擎,主要有FreeMarker和Thymeleaf,它們都是用Java語言編寫的,渲染模板並輸出相應文本,使得界面的設計與應用的邏輯分離,同時前端開發還會使用到Bootstrap、AngularJS、JQuery等;在瀏覽器的數據傳輸格式上采用Json,非xml,同時提供RESTfulAPI;SpringMVC框架用於數據到達服務器后處理請求;到數據訪問層主要有Hibernate、MyBatis、JPA等持久層框架;數據庫常用MySQL;開發工具推薦IntelliJIDEA。