乐趣区

关于java:当音乐学博士搞起编程用一本书改变了Java世界

前言

说到 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?

欢送留言分享你的感触!

退出移动版