Spring 教程

Spring 笔记

original icon
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.knowledgedict.com/tutorial/spring_framework-intro.html

Spring 简介


Spring 是最受欢迎的企业级 Java 应用程序开发框架,它目前由大量提供一系列服务的模块组成,几乎成了 Java 后端的标准开发框架。

它最初是由 Rod Johnson 编写的,在《Expert One on-One: J2EE Design and Development》这本著作中进行了介绍,并且2003年6月首次在 Apache 2.0 许可下发布。Spring 框架的目标是使 J2EE 开发变得更容易使用,通过启用基于 POJO 编程模型来促进良好的编程实践。

Spring 简化 Java 开发

为了降低 Java 开发的复杂性,Spring 采取了以下4种关键策略:

  • 基于 POJO 的轻量级和最小侵入性编程;
  • 通过依赖注入和面向接口实现松耦合;
  • 基于切面和惯例进行声明式编程;
  • 通过切面和模板减少样板式代码。

几乎 Spring 所做的任何事情都可以追溯到上述的一条或多条策略。

Spring 历史

  • 2017年9月,Spring 5.0 发布。Spring 5.0 最低要求支持 JDK8+,J2EE 7+,支持 servlet 4.0,Reactor 3.1,支持 Kotlin 函数式编程等。
  • 2014年至2017年期间发布了许多 Spring 框架 4.xx 系列版本。
  • 2013年12月,Pivotal 宣布发布 Spring 框架 4.0。Spring 4.0 是 Spring 框架的一大进步,它包含了对Java 8 的全面支持,更高的第三方库依赖性(groovy 1.8+,ehcache 2.1+,hibernate 3.6+等),Java EE 7 支持,groovy DSL for bean 定义,对 websockets 的支持以及对泛型类型的支持作为注入 bean 的限定符。
  • 2013年4月,VMware 和 EMC 通过 GE 投资创建了一家名为 Pivotal 的合资企业。所有的 Spring 应用项目都转移到了 Pivotal。
  • 2012年7月,Rod Johnson 离开了团队。
  • 2011年和2012年发布了许多 3.x 系列的小版本。
  • 2009年12月,Spring 3.0 发布。Spring 3.0 具有许多重要特性,如重组模块系统,支持 Spring 表达式语言,基于 Java 的 bean 配置(JavaConfig),支持嵌入式数据库(如 HSQL,H2 和 Derby),模型验证/ REST 支持和对 Java EE 的支持。
  • 2009年8月,SpringSource 以 4.2 亿美元被 VMWare 收购。
  • 2007年11月,在 Rod 领导下 Interface21 更名为 SpringSource。
  • 2006年10月,Spring 2.0 发布,到那时 Spring 的下载量超过了100万。Spring 2.0 具有可扩展的 XML 配置功能,用于简化 XML 配置,支持 Java 5,额外的 IoC 容器扩展点,支持动态语言。
  • 2004年8月,Rod Johnson,Juergen Hoeller,Keith Donald 和 Colin Sampaleanu 共同创立了一家专注于 Spring 咨询,培训和支持的公司 interface21。
  • 2004年3月,Spring 1.0 版发布。实际上在 1.0 发布之前,Spring 就已经得到开发人员的广泛使用。
  • 2003年6月,Spring 0.9 以 Apache 2.0 许可协议发布。
  • 2002年10月,Rod Johnson 在《Expert One on-One: J2EE Design and Development》这本著作中指出了 Java EE 和 EJB 组件框架中的存在的一些主要缺陷,并提出了一个基于普通 Java 类和依赖注入的更简单的解决方案。
Spring Cloud 是一系列框架的有序集合。它利用 Spring Boot 的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发 ...
Java 是一种广泛使用的计算机编程语言,拥有跨平台、面向对象、泛型编程的特性,广泛应用于企业级 Web 应用开发和移动应用开发。 ...
采用了MVT的软件设计模式,即模型(Model),视图(View)和模板(Template)。这套框架是以比利时的吉普赛爵士吉他手Djang ...
Redis 是业界主流的高性能的 key-value NoSQL 数据库,是一个使用 ANSI C 编写的开源、支持网络、基于内存、可选持久 ...
Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。由荷兰人Guido van Rossum于1989年底发明,第一个公开发 ...