Spring Framework是一个开源Java应用程序框架,最初是基于依赖注入(DI)和控制反转(IoC)的原理开发的。

Spring Framework已经成长为控制容器的反转,并且目前包括几个提供各种服务的模块,如面向方面的编程,数据访问,事务管理,模型 - 视图 - 控制器,身份验证和授权,消息传递,和测试。

Spring提供自动装配功能,通过它您可以简单地指定接口类型,Spring可以在运行时找到实际类型,前提是没有冲突。

Spring框架历史

  • Spring框架的第一个版本是由Rod Johnson和2002年的一本书编写的。

  • 该框架于2003年6月首次在Apache许可版本2.0下发布。

  • Spring框架(1.0)的第一个里程碑版本于2004年3月发布。

  • 2006年发布的Spring 2.0简化了XML配置文件。

  • 2007年推出的Spring 2.5引入了注释配置。

  • Spring 3.2于2012年推出,引入了Java配置,支持Java 7,Hibernate 4,Servlet 3.0,并且还需要最低限度的Java 1.5。

  • 2014年发布的Spring 4.0支持Java 8。

  • Spring Boot也于2014年推出。

  • Spring 5.0于2017年问世.Spring Boot 2.x支持Spring 5。

Design Philosophy

  • 提供各个层面的选择。Spring允许您尽可能晚地推迟设计决策。例如,您可以通过配置切换持久性提供程序,而无需更改代码。许多其他基础架构问题以及与第三方API的集成也是如此。

  • 适应不同的观点。Spring拥抱灵活性,并不认为应该如何做。它以不同的视角支持广泛的应用需求。

  • 保持强大的向后兼容性。Spring的演变经过精心设计,可以在版本之间进行一些重大改变。Spring支持精心挑选的JDK版本和第三方库,以便于维护依赖于Spring的应用程序和库。

  • 关心API设计。Spring团队花了很多心思和时间来制作直观的API,这些API在很多版本和多年中都有用。

  • 为代码质量设定高标准。Spring Framework非常强调有意义的,最新的和准确的javadoc。它是极少数项目之一,可以声称干净的代码结构,包之间没有循环依赖。

转载于:https://www.cnblogs.com/ouuoliuxing/p/10979511.html

The history and design philosophy of Spring相关推荐

  1. 论文阅读:The Design Philosophy of the DARPA Internet Protocols

    因特网协议的设计哲学(The Design Philosophy of the DARPA Internet Protocols) 引言 尽管有很多文章介绍了因特网协议是如何工作的,但是很难知道因特网 ...

  2. spring ref historydesign philosophy

    spring中ref属性与<ref/>标签 在bean的内部引用另一个bean对象: 使用ref标签对其进行引用: <ref bean="viewResolver2&quo ...

  3. Spring Framework 5.3文档学习(一)

    Spring Framework 5.3文档学习(一) Overview 1.What We Mean by "Spring" 2. History of Spring and t ...

  4. Spring参考文档翻译01--目录

    Spring Framework Documentation Spring框架文档 5.3.19 Overview history, design philosophy, feedback, gett ...

  5. Spring Boot 中使用 Hikari,给我整不会了

    前言 最近自己使用 Spring boot 搭建了一个非常简单的项目,可是不知道为啥控制台总是出现 Thread starvation or clock leap detected (housekee ...

  6. Spring Boot 默认数据源 HikariDataSource_Spring Boot 中使用 Hikari

    Spring Boot 默认数据源 HikariDataSource springboot2.x之后,系统的默认数据源由原来的的org.apache.tomcat.jdbc.pool.DataSour ...

  7. Spring Framework(框架)整体架构

    原文链接:https://blog.csdn.net/wd2014610/article/details/80061808 Spring 在这个Spring框架大行其道的软件开发世界里,尚有很多工程师 ...

  8. MOSS 代替Spring Boot Admin 的服务治理工具

    1.1 什么是服务治理 服务治理,我也称之为微服务治理,是指用来管理微服务的整个生命周期.包括应用的创建,服务名的规范,服务的上下线,服务的迁移,整个服务的生老病死等方方面面的治理. 1.2 Moss ...

  9. 万字长文之spring的整合

    陈年旧事 一.JSP + Java Bean(Model1) 1.模型的结构 2.产生的问题 如果有好几千个jsp, 这些jsp互相调用(通过GET/POST), 到了最后调用关系无人能搞懂.(随后演 ...

最新文章

  1. SaaS九问,ToB必读
  2. 用于3D重构的深层隐式移动最小二乘函数(CVPR 2021)
  3. 【贪心】Codeforces Round #436 (Div. 2) D. Make a Permutation!
  4. winform窗体 小项目【安装程序】
  5. python快速入门课堂笔记_Python 快速入门笔记(10):文件及目录操作
  6. initrd.img相关
  7. 封装不同类模板的随机数生成器
  8. Python小数据池,代码块
  9. 云头条 |华为云发布全新Slogan;AWS推出DocumentDB;FRB信号刷屏
  10. 眼图 非差分线_LVDS低电压差分信号简介
  11. ARToolKit从图片生成特征点数据
  12. 利用XMLHTTP下载文件
  13. java switch中标签重复_java程序 怎样把id相同的记录挑出来,分别存到不同的文件中,除了switch case,数据量很大,id种类很多。...
  14. Linux——常用命令
  15. 动作捕捉 Motion Capture (Mocap)
  16. 研究生新生要怎么看论文?
  17. [cogs2482][二分答案]Franky的胡子
  18. 腾讯阿里的螺丝钉,一样会生锈!
  19. 网络 - VXLAN
  20. 实时语音如何过质量关?

热门文章

  1. 洛谷P3803 【模板】多项式乘法(FFT)
  2. android蓝牙协议名词解释 OPP HFP HDP A2DP PAN
  3. 服务器搭建2 VSFTP搭建FTP服务器
  4. 怎样才能成为优秀的前端工程师
  5. 给大家介绍一个日期输入控件javascript实现,我修改了下,符合我的习惯了,^_^!...
  6. python处理csv文件将id相同的行合并到同一行并用符号将其隔开_Python探索性数据分析,这样才容易掌握...
  7. 如何做到免驱打印_证卡打印机云打印方案
  8. RocketMQ的一些基本概念和RocketMQ特性的讲解
  9. 2-2Pytorch1.5环境配置
  10. android studio连接服务端代码,Android studio - 无法连接到LDAP服务器(示例代码)