The history and design philosophy of Spring
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相关推荐
- 论文阅读:The Design Philosophy of the DARPA Internet Protocols
因特网协议的设计哲学(The Design Philosophy of the DARPA Internet Protocols) 引言 尽管有很多文章介绍了因特网协议是如何工作的,但是很难知道因特网 ...
- spring ref historydesign philosophy
spring中ref属性与<ref/>标签 在bean的内部引用另一个bean对象: 使用ref标签对其进行引用: <ref bean="viewResolver2&quo ...
- Spring Framework 5.3文档学习(一)
Spring Framework 5.3文档学习(一) Overview 1.What We Mean by "Spring" 2. History of Spring and t ...
- Spring参考文档翻译01--目录
Spring Framework Documentation Spring框架文档 5.3.19 Overview history, design philosophy, feedback, gett ...
- Spring Boot 中使用 Hikari,给我整不会了
前言 最近自己使用 Spring boot 搭建了一个非常简单的项目,可是不知道为啥控制台总是出现 Thread starvation or clock leap detected (housekee ...
- Spring Boot 默认数据源 HikariDataSource_Spring Boot 中使用 Hikari
Spring Boot 默认数据源 HikariDataSource springboot2.x之后,系统的默认数据源由原来的的org.apache.tomcat.jdbc.pool.DataSour ...
- Spring Framework(框架)整体架构
原文链接:https://blog.csdn.net/wd2014610/article/details/80061808 Spring 在这个Spring框架大行其道的软件开发世界里,尚有很多工程师 ...
- MOSS 代替Spring Boot Admin 的服务治理工具
1.1 什么是服务治理 服务治理,我也称之为微服务治理,是指用来管理微服务的整个生命周期.包括应用的创建,服务名的规范,服务的上下线,服务的迁移,整个服务的生老病死等方方面面的治理. 1.2 Moss ...
- 万字长文之spring的整合
陈年旧事 一.JSP + Java Bean(Model1) 1.模型的结构 2.产生的问题 如果有好几千个jsp, 这些jsp互相调用(通过GET/POST), 到了最后调用关系无人能搞懂.(随后演 ...
最新文章
- SaaS九问,ToB必读
- 用于3D重构的深层隐式移动最小二乘函数(CVPR 2021)
- 【贪心】Codeforces Round #436 (Div. 2) D. Make a Permutation!
- winform窗体 小项目【安装程序】
- python快速入门课堂笔记_Python 快速入门笔记(10):文件及目录操作
- initrd.img相关
- 封装不同类模板的随机数生成器
- Python小数据池,代码块
- 云头条 |华为云发布全新Slogan;AWS推出DocumentDB;FRB信号刷屏
- 眼图 非差分线_LVDS低电压差分信号简介
- ARToolKit从图片生成特征点数据
- 利用XMLHTTP下载文件
- java switch中标签重复_java程序 怎样把id相同的记录挑出来,分别存到不同的文件中,除了switch case,数据量很大,id种类很多。...
- Linux——常用命令
- 动作捕捉 Motion Capture (Mocap)
- 研究生新生要怎么看论文?
- [cogs2482][二分答案]Franky的胡子
- 腾讯阿里的螺丝钉,一样会生锈!
- 网络 - VXLAN
- 实时语音如何过质量关?
热门文章
- 洛谷P3803 【模板】多项式乘法(FFT)
- android蓝牙协议名词解释 OPP HFP HDP A2DP PAN
- 服务器搭建2 VSFTP搭建FTP服务器
- 怎样才能成为优秀的前端工程师
- 给大家介绍一个日期输入控件javascript实现,我修改了下,符合我的习惯了,^_^!...
- python处理csv文件将id相同的行合并到同一行并用符号将其隔开_Python探索性数据分析,这样才容易掌握...
- 如何做到免驱打印_证卡打印机云打印方案
- RocketMQ的一些基本概念和RocketMQ特性的讲解
- 2-2Pytorch1.5环境配置
- android studio连接服务端代码,Android studio - 无法连接到LDAP服务器(示例代码)