一、Spring
的发展历史
1、Spring 1.x
2004年 Spring Framework 1.0 final
正式问世。
Spring 1.0
当时只包含一个完整的项目,他把所有的功能都集中在一个项目中,其中包含了核心的IOC
、AOP
,同时也包含了其他的诸多功能,例如:JDBC
、Mail
、ORM
、事务、定时任务、Spring MVC
等。
由于Spring
超前的眼光和博大的精神,在第一个版本的时候已经支持了很多第三方的框架,例如:Hibernate
、ibatis
、模板引擎等。
尽管如此,此时的Spring
除了最核心的IOC
和AOP
之外,其他的模块犹如我们现在众多的开源项目一样,大多是对第三方框架的简单封装!我也相信很多个人或企业也基本都维护了一套类似这种的框架供项目开发使用。
此时的Spring
还很懵懂,只支持基于XML
的配置!关于更多关于Spring 1.0
的信息可以参考:
https://spring.io/blog/2004/03/24/spring-framework-1-0-final-released
2、Spring 2.x
Spring 2.x
增加对注解的支持,支持了基于注解的配置。
3、Spring 3.x
Spring 3.x
以后在GitHub
托管的代码,现在最新的为Spring 3.2.x
,Github
上地址为:
https://github.com/spring-projects/spring-framework/tree/3.2.x
Spring 3.x
支持了基于Java
类的配置。
4、Spring 4.x
Spring 4.x
新特性:
Spring 4.x
全面支持Java 8.0
,支持Lambda
表达式的使用,提供了对@Scheduled
和@PropertySource
重复注解的支持,提供了空指针终结者Optional
,对核心容器进行增加:支持泛型的依赖注入、Map
的依赖注入、Lazy
延迟依赖的注入、List
注入、Condition
条件注解注入、对CGLib
动态代理类进行了增强。
Spring 4.x
还支持了基于Groovy DSL
的配置,提高Bean
配置的灵活性。
Spring 4.x
开始,Spring MVC
基于Servlet 3.0
开发,并且为了方便Restful
开发,引入了新的RestController
注解器注解,同时还增加了一个AsyncRestTemplate
支持Rest
客户端的异步无阻塞请求。
5、Spring 5.x
二、Spring
如今的生态帝国
Spring
从最初的一城一池,发展到如今已经发展为一个生态帝国,旗下拥有诸多的子项目,从最基本的Spring IOC/AOP
使用,到安全管理,再到大数据,Spring
已经逐渐的渗入到各个领域。目前,几乎所有JavaWeb
相关的开发都可以在Spring
中找到合适的方案,为了在开发的时候,防止重造轮子,下边梳理一下Spring
的各个子项目,做到心中有数: