1. 程式人生 > >spring boot版本演進

spring boot版本演進

“Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can “just run”. We take an opinionated view of the Spring platform and third-party libraries so you can get started with minimum fuss. Most Spring Boot applications need very little Spring configuration.”

這是spring boot官方文件上對spring boot的介紹,意思是說:spring boot可以方便的建立一個獨立執行的,生產環境級別的基於spring的應用,並且只要使用“Run as”即可啟動的應用。它通過最小的複雜性使得應用創建於spring平臺並引入依賴的第三方庫。絕大多數的spring boot應用只需要很少的spring 配置。

按照原文翻譯是很蹩腳的,直白點說就是:spring boot可以讓你很方便的建立一個基於spring的應用,配置簡單,啟動方便。

那麼spring boot為什麼說他自己是很簡單的,配置優化的,啟動方便的呢?這顯然是對比傳統的建立spring應用的方式得出來的。那麼我們來回顧下,原始的建立spring 專案的缺點都有哪些?我們以建立一個傳統spring mvc專案為例: 1 至少要有兩個spring的配置檔案:MVC配置檔案和Application的配置檔案

MVC配置:檔案中配置的是spring mvc模組所需要的一些配置,比如compoent-scan,檢視解析,攔截器等等,這個檔案一般命名為springmvc-servlet.xml,這個檔案需要配置在web.xml中

<servlet>
        <servlet-name>springmvc</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:spring/springmvc-servlet.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

Application配置檔案:一般配置的是AOP,事務,IOC的bean等等,一般也要在web.xml中指定

2 AOP,攔截器,事務,MQ,資料來源等等配置也是相當麻煩,雖然有註解的方式,但是為了可讀性,我們一般還是會使用xml的配置檔案方式,每種方式獨立一個配置檔案,這又多出來好幾個配置檔案

3 依賴管理:spring在2.5X版本後就做了分包,spring-context,spring-aop,spring-tx,spring-beans等等,粒度細化了,使得開發者專案依賴的時候複雜了,因為依賴的包太多,新專案搭建的時候,很難完整的引入,特別是一些傳遞性依賴的與本專案的依賴衝突的時候,那排除起來也是相當頭大。

4 專案啟動:spring mvc專案一般同構servlet容器啟動,而開發人員的servlet容器版本五花八門,當然可以通過專案說明檔案來約定統一的版本,但是我們都知道,當手上有N多個專案並行的時候,不同專案的jdk版本要求,servlet容器版本要求都可能不一樣,開發人員總是會希望使用最近使用的這個容器版本,以免不停的切換。

先說這幾點吧,總結下,其實就是傳統的spring mvc專案配置繁瑣,依賴麻煩,啟動不傻瓜化。那麼spring boot橫空出世就解決了以上這些問題,那麼spring boot這麼牛,那是不是可以說以後不會有人用spring mvc了呢?

答案肯定是否定的,spring boot的絕大部分特性與功能都是建立在傳統的spring 和spring mvc的基礎之上的。可以類比為傳統的spring和spring mvc就是jdbc,spring boot就是MyBatis或Hibernate。 現在大多數的專案都是使用MyBatis或Hibernate,而很少使用jdbc,但是如果你想了解MyBatis或Hibernate底層實現,那麼jdbc是最好的切入點,最終會發下底層就是對jdbc的更合理,更開發的封裝。

關於spring boot是什麼,就囉嗦到這裡吧。

下面我們簡單看看spring boot版本的演進,為啥要了解其版本呢?從版本的演進路線,我們可以瞭解其前世今生,可以看到他的迭代頻率,以及未來發展前景等等,從而對我們的技術選型有很大的幫助。

spring boot最早的一個版本是v0.5.0.M1,釋出於2013年8月6日,第一個release版本 v1.0.0.RELEASE 釋出於2014年4月1日,可見我們現在討論的其實是3年前的技術框架。在2014年,15年,16年,17年spring boot的版本都有很多的更新,且在2017年5月16日,釋出了 v2.0.0.M1版本,進入了v2.x。可以看出spring boot是一個充滿活力的框架。

版本號 釋出時間 備註
v0.5.0.M1 2013-08-06
v1.0.0.RELEASE 2014-04-01
v1.2.0.RELEASE 2014-12-11
v1.3.0.RELEASE 2015-11-16
v1.4.0.RELEASE 2016-07-29
v1.5.0.RELEASE 2017-01-30
v2.0.0.M2 2017-06-16 最新

--------------------- 本文來自 工匠解碼 的CSDN 部落格 ,全文地址請點選:https://blog.csdn.net/MrZhangXL/article/details/78706963?utm_source=copy