SpringBoot系列教程02--史前文明之Spring发展史
文末有福利~
一. Spring1.x 时代
1.功能:
1.x时代的Spring把所有的功能都集中在一个项目中,包含了核心的IoC、AOP,也包含了其他一些比如JDBC、Mail、ORM、事务、定时任务、Spring MVC等功能.
2.优点:
支持基于XML的配置;
支持依赖注入与声明式事务。
3.缺点:
只支持基于XML的配置,而且通过xml文件来配置bean,当项目不断扩大的时候,需要将xml配置信息分放到不同的配置文件中,因此需要频繁的在java类和xml配置文件中切换.
二. Spring2.x 时代
1.特点
同时支持注解与xml. 应用程序的基本配置用xml,比如数据源、资源文件等;业务代码的开发用注解,比如Service中注入bean等.
2.优点
随着JDK1.5开始支持注解,Spring 2.x也增加了对注解的支持。因此可以使用注解对Bean进行声明和注入,大大的减少了xml配置文件,同时也大大简化了项目的开发.
三. Spring3.x 时代
1.特点
从Spring3.x开始提供了基于Java类的配置方式,如@Configuration 和@Bean的出现.@Configuration 作用于类上,相当于一个xml配置文件;@Bean 作用于方法上,相当于xml配置中的.至此注解慢慢的取代了xml配置.
2.优点
使用Java类的配置方式可以更好的理解你配置的Bean.现在一般都推荐使用Java类的配置的方式.
四. Spring4.x 时代
1.特点
Spring 4.x全面支持JDK8.0;
支持Lambda表达式;支持@Scheduled和@PropertySource重复注解;
提供了空指针终结者Optional;
对核心容器进行增加;
支持泛型的依赖注入、Map的依赖注入、Lazy延迟依赖的注入、List注入、Condition条件注解注入、对CGLib动态代理类进行了增强;
支持了基于Groovy DSL的配置,提高Bean配置的灵活性.
Spring 4.x开始,Spring MVC基于Servlet 3.0 开发,并且为了方便Restful开发,引入了新的RestController注解器注解,同时还增加了一个AsyncRestTemplate支持Rest客户端的异步无阻塞请求.
一张图概括:
五. Spring 5.x 时代
1.Spring 5.x主要新特性:
六. Spring生态概述
Spring发展到今天,旗下拥有诸多的子项目,从最基本的Spring IoC/AOP使用,到安全管理,再到大数据,Spring已经逐渐渗入到各个领域.
目前几乎所有JavaWeb相关的开发都可以在Spring中找到合适的方案,为了防止在开发的时候重复造轮子,下边梳理一下Spring的各个子项目,做到心中有数.

【录制视频】Java微服务架构(SpringBoot+SpringCloud)下载
【录制视频】Java微服务架构(SpringBoot+Dubbo+Zookeeper) 下载
【录制视频】SpringBoot实战 下载
【录制视频】Springboot框架项目实战-电商平台《伴我汽车》下载
- 点赞
- 收藏
- 分享
- 文章举报
- SpringBoot系列教程之Bean之指定初始化顺序的若干姿势
- SpringBoot2.x系列教程(四十二)SpringBoot中构建RESTful服务
- 江帅帅:Spring Boot 底层级探索系列 02 - 自动配置的底层逻辑
- SpringBoot2.x系列教程(五十四)SpringBoot2.x集成Mybatis实战
- 【SpringBoot 系列】史上最全的springboot学习教程(会不断更新)
- springboot系列教程2:springboot配置文件读取
- SpringBoot系列教程web篇之重定向
- Springboot系列:Springboot与Thymeleaf模板引擎整合基础教程(附源码)
- Springboot系列:Springboot与Thymeleaf模板引擎整合基础教程(附源码)
- Spring Boot2 系列教程(十一)Spring Boot 中的静态资源配置
- Spring Boot系列教程十:Spring boot集成MyBatis
- SpringBoot2.x系列教程(五十三)SpringBoot2.x集成swagger2配置权限认证参数Authorize
- SpringBoot2.0系列教程(五)Springboot框架添加全局异常处理
- SpringBoot系列教程web篇之重定向
- Springboot系列:Springboot与Thymeleaf模板引擎整合基础教程(附源码)
- Spring Boot2 系列教程(十)Spring Boot 整合 Freemarker
- [Gradle中文教程系列]-跟我学Gradle-8.7.多模块项目之 - spring boot + gradle + 构建公共jsp页面的多模块项目
- SpringBoot2.x系列教程(四十一)SpringBoot中通过SpringContextUtils工具类获取Bean
- Spring Boot系列教程十:Spring boot集成MyBatis
- Java工程师之SpringBoot系列教程前言&目录