码农的春天
我在B站的视频,希望大家多多支持噢1024程序员节冬天来了,春天还会远吗pring发展史大揭秘
俗话说冬天来了,春天还会远吗br> J2EE开发的春天始于2002年。关于Spring的发展起源要回溯到2002年,当时正是J2EE和EJB大行其道的时候,很多知名公司都是采用此技术方案进行项目开发。这时候有一个美国的小伙子认为EJB太过臃肿,并不是所有的项目都需要使用EJB这种大型框架,应该有一种更好的方案来解决这个问题。
他为了证明自己的想法是正确的,在2001年10月写了一本书《Expert One-on-One J2EE》,介绍了当时Java企业应用程序开发的情况,并指出了JavaEE和EJB组件框架中存在的一些主要缺陷。在这本书中,他提出了一个基于普通Java类和依赖注入的更简单的解决方案。在书中,他展示了如何在不使用 EJB 的情况下构建高质量、可扩展的在线座位预留系统。为了构建应用程序,他编写了超过30000行的基础结构代码,项目中的根包命名为com.interface21,所以人们最初称这套开源框架为interface21,这就是 Spring 的前身。
这个小伙子是谁呢就是大名鼎鼎的Rod Johnson。
或许想解释清楚Spring到底是什么是件很困难的事情。通常,Spring是指一个用于构造Java应用程序的轻量级框架,这句话包含两个有趣的地方。首先,你可以采用Spring来构造任何程序,这与Apache Struts这样的框架不同,你不限定于只编写WEB应用。其次,以上解释中的“轻量级”并不意味着类数量很少,或者发行包大小很小,实际上,它指的是Spring哲学原理的总称——那就是最少的侵入。Spring是轻量级的,意味着你只需对你的程序代码做很少改动 (假若有的话) ,就可以获得Spring核心带来的好处,你也可以在任何时候选择抛弃Spring ,你会发现这实在很容易。注意,上面这句话只针对Spring核心本身——很多附加的Spring组件,比如数据访问,需要与Spring框架有相对紧密得多的耦合关系。但是,这些耦合带来的好处显而易见。
Spring是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。
What is 最少的侵入/h1>
这里讲一下侵入式和非侵入式。简单的说,假设我们想把一些业务代码放到一个框架里。侵入式的做法是要求业务代码”知道”框架的代码,表现为业务代码需要继承框架提供的类,才能很好的和框架结合,使用框架带来的便利。非侵入式则不需要业务代码引入框架代码的信息,即无需继承框架提供的类,从编写者的角度来看,察觉不到框架的存在。例如:使用struts的候,我们需要继承一些struts的类,这时struts侵入到了我的业务代码里。使用spring编写一些业务类的时候不需要继承spring特定的类,通过配置完成依赖注入后就可以使用,此时spring就没有侵入到我的代码里。侵入式让业务代码产生对框架的依赖,这些代码不能在框架之外使用,不利于代码的复用。但是侵入式可以使用户和框架更好的结合,更容易更充分的利用框架提供的功能。非侵入式的代码对框架则没有过多的依赖,可以很方便的迁移到其他地方使用,代码的复用性较好。但是框架和业务代码互动的方式可能就比较复杂。总之,这两种方式各有千秋,各有利弊,主要看实际开发时的权衡选择了。
那么非侵入式的技术体现,即允许在应用系统中自由选择和组装Spring框架的各个功能模块,并且不强制要求应用系统的类必须继承或实现Spring框架的类和接口来达到使用框架的目的。
如何实现非侵入式:
- 引用反射机制,通过动态调用的方式来提供各方面的功能,建立核心组件BeanFactory
- 配合使用Spring框架中的BeanWrapper和BeanFactory组件类最终达到对象的实例创建和属性注入
其实非侵入式就是不需要继承框架提供的类,而是通过配置完成依赖注入后,就可以使用。允许所开发出来的应用系统能够在不同的环境中自由移植,不需要修改应用系统中的核心代码。
Spring的体系结构
Spring框架至今已集成了20多个模块,这些模块分布在以下模块中:
- 核心容器(Core Container)
- 数据访问/集成(Data Access/Integration)层
- Web层
- AOP(Aspect Oriented Programming)模块
- 植入(Instrumentation)模块
- 消息传输(Messaging)
Pivotal Labs 公司
1989 年,Rob Mee 创立的咨询公司 Pivotal Labs,专注于快速的互联 式软件开发,即敏捷编程。创立 Pivotal Labs 的时候,它还是一家非常小的软件顾问公司,它的主营业务就是与客户合作,帮助客户开发软件。
Pivotal Labs 一直是敏捷开发领域的领导者,为部分硅谷最有影响力的公司塑造了软件开发文化,并树立了良好口碑,其中 Google、Twitter 都曾是 Pivotal Labs 客户。
时间很快到了 2012 年,深受客户喜爱的 Pivotal 终于引起了商用软件巨头 EMC 的关注,EMC 在 2012 年以现金方式收购了 Pivotal 并照单全收了它的 200 名员工。
刚开始的时候,公司并没有发生太大的变化,只是作为新部门成为了 EMC 的一部分,Pivotal Labs 仍然继续像以前样与客户合作。
但是到 2013 年的时候,EMC 突然扔下了一颗重磅炸弹。它将 Pivotal Labs 的核心业务分拆出去,成立了一家名为 Pivotal Software 的新公司。这家新公司的股东是 EMC 、 VMware 和通用电气,之前在 EMC 子公司 VMware 担任首席执行官的马瑞兹出任公司的首席执行官。
EMC 和 VMware 分拆出其 Cloud Foundry、Pivotal Labs、Greenplum 等云计算、大数据资源,GE 投资 1.05 亿美元,成立新公司 Pivotal。新生的 Pivotal 是名副其实的“富二代”,这轮估值高达 10.5 亿美元。
那么 EMC 和 VMware 又有什么关联呢/h2>
2003 年 12 月, EMC 公司宣布以 6.35 亿美元收购了 VMware 公司。
EMC 是全球第六大企业软件公司,全球信息基础架构技术与解决方案的领先开发商与提供商。同时也是美国财富五百强之一,在全世界拥有超过四万二千名员工,在全球 60 个国家或地区拥有分支机构。我们接触比较多就是 EMC 的各种存储产品。
EMC 公司做大 EMC 的秘诀,就是研发与并购双轮驱动,研发与并购的投入占当年营业收入的 22% 左右,并购投入略高于研发。从 2003 年到2 015 年的 12 年间,EMC 总共投入超过 420 亿美元用于研发和收购。其中,206 亿美元用于研发,213 亿美元用于并购,总共并购了 100 多家公司。
VMware 收购 Spring
2009 年是 Spring 企业的一个转折点,VMware 以 4.2 亿美元收购 Spring Source (3.6亿现金外加5800万股份) 。
可以说虚拟化就是 VMware 发明的
VMware 于 1998 年成立,公司总部位于美国加州帕洛阿尔托,是全球云基础架构和移动商务解决方案厂商,提供基于VMware的解决方案,企业通过数据中心改造和公有云整合业务,借助企业安全转型维系客户信任,实现任意云端和设备上运行、管理、连接及保护任意应用。2018 财年全年收入 79.2 亿美元。
相信作为研发人员肯定都使用过 VMware 公司的产品,最常用的是 VMware 的虚拟机产品,但其实 VMware 公司的产品线非常多。
从发展路线来看,VMware 具备三大特点:
第一,是技术具备领先性,虚拟化技术在70年代就已出现,但VMware是第一个将这项技术应用到X86服务器上,并在这个基础上不断完善,使其能够满足企业级客户需求;
第二,是瞄准大型企业客户。VMware 刚刚上市时,年营收不到4亿美金,但已经覆盖80%的财富1000强客户;
第三,是高度产品化。VMware 的毛利率长期保持在 85% 左右,咨询业务占比非常少,几乎将所有部署工作都交给合作伙伴。
VMware 也是一个并购大户,通过投资和收购补全业务线,客户资源是一大优势。
曾经有一段时间,有人就问我一个问题,说开源的是不是就意味着是免费的,不免费的服务,是不是就意味着不是开源的软件种商业模式其实就是对这种观点的一种反驳,开源不等于免费,开源是一种开放分享的精神,不要什么东西来到国内都变味了。
Pivotal 掌握很多最新前沿的开源技术,公司提供的从云端部署到一整套的大数据解决方案,从开发到平台到提供解决方案到提供咨询,可以说真正依赖技术挣钱的典范,我辈之楷模!
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!