Spring诞生的背景

Spring诞生前夕的世界

当时的行业需求

  • 企业规模信息化规模扩大,单机在性能、可靠性上都难以满足,出现分布式、双机热备(集群)、分布式事务、资源池化等需求;

各大厂商瓜分市场

  • 各技术协会为了行业的健康发展,积极推进行业的规范化。各大厂商为了占领市场,对规范制定也是大力支持,所以一起为J2EE定制了很多的规范:Servlet、JSP、JMS、JTA、JNDI、JDBC、RMI、JavaMail、XML、EJB等;
  • 对于开发者来说,开发一个企业级应用需要实现规范要求的接口或者遵守固定的使用方式,才能具备相应的能力;
  • 各大厂商在应用服务器、中间件中为各个规范提供了相应的容器、集成等管理能力;出现了weblogic、websphere、Jboss等应用服务器,Oracle、DB2等数据库。

EJB被广泛应用

  • EJB作为一种理念被提出时,就被各大厂商寄予了厚望。EJB的理念认为,企业软件的核心是Service层,这一层代表了一个企业的核心处理逻辑,基于Service层的web层只是和前台界面交互的一层Facade,而持久层只是实现数据的结构化存储;
  • 但是EJB的实现非常复杂,在业务代码之外,需要生成大量的描述性代码。这给开发效率带来了很大的问题;
  • EJB的测试非常麻烦,需要部署到容器中才能测试;

集成各种框架很复杂

  • 除了EJB这种复杂的技术,其他方面也需要直接使用JSP、JDBC等对使用并不友好的API。所以大家为了便于使用,一般都会各自进行一定的封装,行业内也逐渐出现一些解决某一方面的通用解决方案,比如web层的Struts、webwork,持久层的ibatis、hibernate等,但是这些框架之间的集成往往并不容易。

Johnson对EJB的看法

ejb

Johnson对J2EE的看法

  • J2EE的前进方向应该有开源软件来引导;有Sun这样的商业公司来主导J2EE规范的制定,掺杂太多利益的纠葛,造成规范脱离了实际需要;
  • 标准化的规范造成了应用对各大厂商的依赖,这严重的抑制了创新;

你可能感兴趣的:(Spring诞生的背景)