說到Spring,也許如今的開發者們最早想到的是 Josh Long程序員
超快的語速與現場代碼能力,讓不少Java開發者折服。web
而後Spring的歷史上,最傳奇的仍是要數其創始人:Rod Johnson!spring
先不說別的,看到他的學歷,你就震驚的了,悉尼大學的音樂學博士!不要驚訝,不是計算機!數據庫
也許就是由於這樣一顆理性思惟與藝術細胞結合的禿頂大佬,才能造就Spring這樣的產物吧。編程
Rod Johnson,就是上圖這位頭頂略微地中海的男子,可是禿腦殼瓜並無讓Rod Johnson變得難看,好幾個同窗一致認爲這傢伙長得很酷。安全
按照他身邊的密友所描述的,Rod Johnson平日裏看上去就像是一個典型的英國紳士,雖然他好像出生在澳大利亞,可是如今住在倫敦。提及話來也是一板一眼,有條有理。字正腔圓而略有點尖的口音讓人聽起來特別清楚。服務器
大多數人都認爲Rod Johnson彷佛天生缺乏同樣東西:幽默感。但實際上看看下面這端開場白:websocket
回到2001年,當我寫下第一行代碼時,那些代碼並無放到GitHub,沒放在上面是由於GitHub當時不存在,因此我想Spring應該比Git老三四歲...架構
讓人不由宛然一笑,Rod Johnson也跟其餘程序員同樣是個挺可愛的人吧。mvc
提到Rod Johnson,你們還總會想起輪子理論。
所謂輪子理論,就是指:不要重複發明輪子,這是西方國家的一句諺語,原話是:Don't Reinvent the Wheel。意思是企業中任何一項工做實際上都有人作過,咱們所須要作的就是找到作過這件事情的人。拿到軟件領域中就是指有的項目或功能,別人已經作過,咱們須要用的時候,直接拿來用便可,而不要從新制造。
Rod Johnson想告訴咱們,Spring就是在不重複發明輪子的理念及指導原則上作起來。
因而一晚上之間,隨着Spring在全世界的風風火火,特別是吹到咱們祖國的時候,也許是愛屋及烏的緣由吧,輪子理論也被衆多的Spring粉絲當成作人作事作程序的信條及原則。
Spring,能夠說就像是Rod Johnson的代名詞同樣,你們對Rod Johnson印象最深的成就天然是SpringFramework和Expert One on one J2EEDevelopment without EJB。
Java從誕生之日到現在經歷了風風雨雨數十年,從低谷到高峯,JAVA之因此是世界上最受歡迎的開發語言之一,Spring框架起到了很是重要的做用。
當時間還停在21世紀初,Java EE的整個系統框架處在臃腫、低效、脫離現實的種種現狀之中,將其進行輕量化成爲業內的一致的呼聲,此時Rod Johnson就像一顆璀璨的明珠同樣橫空出世,積極尋求探索革新之道。
Rod Johnson最開始在2000年爲倫敦金融界提供獨立諮詢業務時曾經寫了一個簡單的框架,以此爲基礎他編寫了interface21框架,這是一個力圖衝破Java EE傳統開發的困境,從實際需求出發,着眼於輕便、靈巧,易於開發、測試和部署的輕量級開發框架。能夠說這就是Spring的前身,Rod Johnson當時的觀點就是 :如何讓應用程序能以超出當時大衆所慣於接受的易用性和穩定性與J2EE平臺上的不一樣組件合做。
Spring框架即以interface21框架爲基礎,通過從新設計,並不斷豐富其內涵。最終於2004年3月24日,發佈了1.0正式版。
配合Spring的誕生,Rod Johnson在同年編著了Expert one on one J2EE design and development一書,堪稱經典,直至今日,還有很多莘莘學子將其視爲Spring必讀寶典。
這本書甫一面世,就在Java世界掀起了軒然大波,不斷改變着Java開發者程序設計和開發的思考方式,影響至今。Rod Johnson根據本身多年豐富的實踐經驗,對EJB的各類笨重臃腫的結構進行了逐一的分析和否認,並分別以簡潔實用的方式替換之。
Spring1.0版本發佈以後,Spring框架在Java社區裏變得異常流行,固然這也要部分的歸功於它不錯的文檔功能和詳盡的參考文獻,特別是對於一個開源項目而言尤爲如此。
Spring框架的一個重要設計目標就是更容易地與已有的J2EE(如今稱之爲JavaEE或JEE)標準和商用工具整合。
也正所以,Rod Johnson奠基了本身的江湖地位,成爲一個改變Java世界的大師級人物。
Spring 幾乎已經成爲如今每一位 Java 開發人員都耳熟能詳的開發框架,不論你是一名初出茅廬的程序員仍是經驗豐富的老司機,都會對其有必定的瞭解或使用經驗。在現代企業級應用架構中,Spring 技術棧幾乎成爲了 Java 語言的代名詞。咱們不妨從最初的 Spring 開始,看看它爲何可以橫掃千軍,一統江湖!
Spring版本變遷:
自2004年Spring1.0發佈以後,Spring 框架迅速發展,不斷進化。1.0的出現完全改變了開發企業級Java應用程序的方式。 Spring的依賴注入與聲明式事務意味着組件之間不再存在緊耦合,不再用重量級的EJB了。
2006 年 10 月,發佈Spring 2.0 ,具備可擴展的 XML 配置功能,用於簡化 XML 配置,支持 Java 5,額外的 IoC 容器擴展點,支持動態語言。更小、更簡單易懂的配置文件讓Spring自己更便於使用
2007 年 11 月 ,Interface21 項目改名SpringSource,同時發佈了 Spring 2.5,支持 Java 6 / Java EE 5,支持註釋配置,classpath 中的組件自動檢測和兼容 OSGi 的 bundle。讓咱們有了更優雅的面向註解的依賴注入模型(即@Component和@Autowired註解),以及面向註解的Spring MVC編程模型。不用再去顯式地聲明應用程序組件了,也再也不須要去繼承某個基礎的控制器類了。
2009 年 12 月,Spring 3.0 發佈,具備許多重要特性,如重組模塊系統,支持 Spring 表達式語言,基於 Java 的 bean 配置(JavaConfig),支持嵌入式數據庫(如 HSQL,H2 和 Derby),模型驗證/ REST 支持和對 Java EE 的支持。XML被取代,終於能夠寫出一個沒有任何XML配置的Spring應用程序。
2013 年 12 月,Pivotal(2013 年 4月,VMware 和 EMC 經過 GE 投資建立了一家名爲 Pivotal 的合資企業。全部的 Spring 應用項目都轉移到了 Pivotal) 宣佈發佈 Spring 框架 4.0。包含了對Java 8 的全面支持,更高的第三方庫依賴性(groovy 1.8+,ehcache 2.1+,hibernate 3.6+等),Java EE 7 支持,groovy DSL for bean 定義,對 websockets 的支持以及對泛型類型的支持做爲注入 bean 的限定符。
2017年9月,Spring 5.0 GA版本發佈,開始支持JDK 8和Java EE 7,同時兼容JDK9。全面支持Servlet 3.1,還引入了一個全新的模塊Spring WebFlux用於替代老話的 spring-webmvc;對Kotlin也有了更好的支持。
而目前,最新的是5.3.2 GA版本。
具體版本可見:https://spring.io/projects/spring-framework#learn
Spring在不一樣的領域不斷髮展:移動開發,社交API集成、安全管理、NoSQL數據庫、雲計算和大數據等等都是它正在涉足和創新的領域,使其前景更加廣闊,甚至已經造成與傳統的JavaEE平臺平起平坐之勢。
江湖,有聚必有散。
2007 年,SpringSource 從基準資本得到了 A 輪融資(1000萬美圓)。在此期間SpringSource也收購了多家公司,如Hyperic,G2One 等。
可是等到了2009年8月,SpringSource反卻是以 4.2 億美圓被 VMWare 收購。
而在3年後的2012年7月,Rod Johnson就離開了他一手建立的Spring團隊。
或許咱們能夠這樣想,若是當初SpringSource 沒有被VMWare 收購,是否是Rod Johnson 就不會離開團隊,是否是如今的Spring會更好?答案咱們天然不得而知。
Rod Johnson當年在SpringSource官方博客上公佈這一消息時聲稱SpringSource將成爲VMware下屬的一個部門,而他將還是SpringSource的領導者。他當時對將來的展望是:
這次決定是很天然而符合邏輯的:這將帶來更多的新技術,而且對Spring框架以及Spring社區都有好處。
我很興奮。但願你也是。這將極其有趣。
Spring框架將繼續提供優質的企業級Java支持。咱們從關注開發者如何建立和使用應用,到關注他們如何部署和運行企業級應用;爲此咱們建立了dm Server和tc Server。咱們收購Hyperic也是爲了改善開發者管理企業級應用的方法。
與VMware的合做中,咱們計劃建立一個簡單,集成,建立-運行-管理合一的數據中心、私有云和公共雲的解決方案。這個方案將融合應用架構的知識,連帶中間件以及管理控件,確保一個虛擬環境在部署過程當中以及運行時的最大效率及彈性。這是一個PaaS,創建在你已知的技術之上,從而最大的減小花費與複雜度。這是一個圍繞開源、可移植的中間件技術的解決方案,既能夠在傳統數據中心的Java EE應用服務器上運行,又能夠在如Amazon EC2之類的彈性雲上運行,也能夠在VMware平臺上運行。
與VMware的vSphere以及其餘雲技術一塊兒,咱們將在框架和基礎設施上帶來一個全新的體驗。SpringSource的應用框架、服務器及管理軟件將成爲VMware平臺的眼睛和耳朵。
SpringSource的下一步工做將是這些新的挑戰:基於咱們的Build/Run/Manage(建立運行管理)系統,提供從桌面端到雲端的最佳解決方案。讓百萬Java開發者都能享受到雲計算帶來的好處。
可能他當時內心想的是做爲Java領域的重要廠商,在加入VMware後,其Java開發經驗將與VMware的虛擬化平臺相結合,加強其在企業服務市場中的競爭力。另外,SpringSource在全球大型企業中的普遍客戶資源也可以讓VMware受益。無論怎麼說,彷佛從如今的結果來看,Spring也作得不錯,沒有辜負Rod Johnson當初的一番指望。
如今的Rod Johnson成爲了一個天使投資人,同時也是多個公司的董事(例如Neo Technology,elastic,Meteor和Hazelcast等著名的開源公司),早已走上人生巔峯。同時他依然仍是常常會在技術大會上作演講,遊走在世界各地,爲後來者傳授各類技術經驗及想法。
在去年10月份的SpringOne Platform大會上,Rod Johnson還特意作了一個關於Spring18歲的演講,也許他的樣子變了,可是講起Spring,他仍是像講起本身的孩子通常口若懸河,Rod Johnson分享了Spring的起源、歷史,總結了一些Spring框架發展過程的經驗教訓:
有興趣的讀者能夠自行查看,視頻地址以下:https://www.bilibili.com/video/av200511420
你知不知道Rod Johnson?
你有沒有看過Expert One on one J2EEDevelopment without EJB?
歡迎留言分享你的感覺!
歡迎關注個人公衆號:程序猿DD,得到獨家整理的免費學習資源助力你的Java學習之路!另每週贈書不停哦~