首页 > 其他分享 >SpringBoot2.x系列教程02--史前文明之Spring发展史

SpringBoot2.x系列教程02--史前文明之Spring发展史

时间:2022-12-23 14:38:08浏览次数:48  
标签:02 xml -- Spring 配置 支持 Bean 注解

作者:一一哥

SpringBoot2.x系列教程02--史前文明之Spring发展史_依赖注入

一. Spring1.x 时代

SpringBoot2.x系列教程02--史前文明之Spring发展史_依赖注入_02

1.功能:

1.x时代的Spring把所有的功能都集中在一个项目中,包含了核心的IoC、AOP,也包含了其他一些比如JDBC、Mail、ORM、事务、定时任务、Spring MVC等功能.

2.优点:

支持基于XML的配置;
支持依赖注入与声明式事务。

3.缺点:

只支持基于XML的配置,而且通过xml文件来配置bean,当项目不断扩大的时候,需要将xml配置信息分放到不同的配置文件中,因此需要频繁的在java类和xml配置文件中切换.

二. Spring2.x 时代

SpringBoot2.x系列教程02--史前文明之Spring发展史_Java_03

1.特点

同时支持注解与xml. 应用程序的基本配置用xml,比如数据源、资源文件等;业务代码的开发用注解,比如Service中注入bean等.

2.优点

随着JDK1.5开始支持注解,Spring 2.x也增加了对注解的支持。因此可以使用注解对Bean进行声明和注入,大大的减少了xml配置文件,同时也大大简化了项目的开发.

三. Spring3.x 时代

SpringBoot2.x系列教程02--史前文明之Spring发展史_其他_04

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客户端的异步无阻塞请求.

一张图概括:

SpringBoot2.x系列教程02--史前文明之Spring发展史_依赖注入_05

五. Spring 5.x 时代

SpringBoot2.x系列教程02--史前文明之Spring发展史_依赖注入_06

1.Spring 5.x主要新特性:

SpringBoot2.x系列教程02--史前文明之Spring发展史_xml配置_07

六. Spring生态概述

Spring发展到今天,旗下拥有诸多的子项目,从最基本的Spring IoC/AOP使用,到安全管理,再到大数据,Spring已经逐渐渗入到各个领域.

目前几乎所有JavaWeb相关的开发都可以在Spring中找到合适的方案,为了防止在开发的时候重复造轮子,下边梳理一下Spring的各个子项目,做到心中有数.

SpringBoot2.x系列教程02--史前文明之Spring发展史_依赖注入_08

标签:02,xml,--,Spring,配置,支持,Bean,注解
From: https://blog.51cto.com/u_7044146/5965608

相关文章