前言

说到Spring,兴许当初的开发者们最先想到的是 Josh Long

超快的语速与现场代码能力,让很多Java开发者折服。

而后Spring的历史上,最传奇的还是要数其创始人:Rod Johnson!

先不说别的,看到他的学历,你就震惊的了,悉尼大学的音乐学博士!不要诧异,不是计算机!

兴许就是因为这样一颗感性思维与艺术细胞联合的秃顶大佬,能力造就Spring这样的产物吧。

Rod Johnson

Rod Johnson,就是上图这位头顶稍微地中海的女子,然而秃脑袋瓜并没有让Rod Johnson变得难看,好几个同学统一认为这家伙长得很酷。

依照他身边的密友所形容的,Rod Johnson素日里看上去就像是一个典型的英国绅士,尽管他如同出世在澳大利亚,然而当初住在伦敦。说起话来也是一板一眼,井然有序。字正腔圆而略有点尖的口音让人听起来特地分明。

大多数人都认为Rod Johnson仿佛天生短少一样货色:幽默感。但实际上看看上面这端开场白:

回到2001年,当我写下第一行代码时,那些代码并没有放到GitHub,没放在下面是因为GitHub过后不存在,所以我想Spring应该比Git老三四岁...

让人不禁宛然一笑,Rod Johnson也跟其余程序员一样是个挺可恶的人吧。

轮子实践

提到Rod Johnson,大家还总会想起轮子实践
所谓轮子实践,就是指:不要反复创造轮子,这是东方国家的一句谚语,原话是:Don't Reinvent the Wheel。意思是企业中任何一项工作实际上都有人做过,咱们所须要做的就是找到做过这件事件的人。拿到软件畛域中就是指有的我的项目或性能,他人曾经做过,咱们须要用的时候,间接拿来用即可,而不要从新制作。

Rod Johnson想通知咱们,Spring就是在不反复创造轮子的理念及领导原则上做起来。

于是一夜之间,随着Spring在全世界的风风火火,特地是吹到咱们祖国的时候,兴许是爱屋及乌的起因吧,轮子实践也被泛滥的Spring粉丝当成做人做事做程序的信条及准则。

Spring与Expert One on one J2EEDevelopment without EJB

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世界的大师级人物。

本文首发:https://blog.didispace.com/he...

版本变迁

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/sp...

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框架倒退过程的经验教训:

  • Spring的历史起源
  • Lesson 1: Fairy tales can offer useful lessons 寓言故事能提供有用的教训
  • Lesson 2: Need Clear, Shared Values 须要清晰,共有的价值
  • Lesson 3: Know where you're going 明确方向
  • Lesson 4: Quality beats quantity in a team 打造团队宁缺毋滥
  • Lesson 5: Market and sell your technical solution 营销你的技术计划
  • Lesson 6: Other people have great ideas. Borrow them but acknowledge their work 认可借鉴他人的好点子
  • Lesson 7: The developers you want need autonomy 开发者须要自治
  • Lesson 8: Question the "enterprise" mindset 质疑“企业级”观点
  • Lesson 9: Some Spring Advice 一些Spring的倡议
  • Next For Me: Atomist - A Framework for Development and Delivery 我的下一站:Atomist——一个对于开发与交付的框架
  • Lesson 10: Raising software is like raising a child 开发软件像养育一个孩子

有趣味的读者能够自行查看,视频地址如下:https://www.bilibili.com/vide...

你知不知道Rod Johnson?

你有没有看过Expert One on one J2EEDevelopment without EJB?

欢送留言分享你的感触!