自学内容网 自学内容网

第一章 初识Spring

目录

一、介绍

1.1. Spring能做什么?

1.2. Spring生态 

二、Spring发展历程

三、Spring主要功能特性

四、学习Spring的方法


Spring官网地址:

Spring | Home

一、介绍

Spring是一个开源的‌Java应用程序开发框架,旨在简化企业级应用的开发。‌ 它通过提供‌控制反转(‌IoC)和面向切面编程(‌AOP)等核心机制,帮助开发者减少代码重复、降低模块间的耦合度,并提高开发效率和应用的维护性。Spring框架的核心目标是促进快速应用开发、提高代码的可测试性,并简化各种企业级技术的集成。‌

1.1. Spring能做什么?

我们通过Spring官网可以看到,Spring可以实现微服务、网络应用程序、批处理等等一系列功能:

1.2. Spring生态 

 Spring发展到今天已形成一种开发的生态圈,提供了丰富的项目,每个项目用于完成特定的功能

其中Spring生态最核心的三个项目: 

1.2.1. Spring Framework 基础开源框架

Spring生态圈中最基础的项目、最顶级项目,它是Spring其他项目的根基。Framework的架构图:

Test:单元测试与集成测试

Core Container:核心容器,简单理解就是管理所有对象,是Spring Framework框架的基石

Aspects:AOP思想实现

AOP:面向切面编程

Data Access:数据访问

Data Integration:数据集成

Web:Web开发

1.2.2. SpringBoot

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。

1.2.3. Spring Cloud

Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线负载均衡断路器数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring Cloud并没有重复制造轮子,它只是将各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。

二、Spring发展历程

Spring框架(Framework)发展过程中的重要阶段

初始阶段(2002年)‌:Rod Johnson在《[Expert One-on-One J2EE Design and Development》一书中提出了基于普通Java类和依赖注入的解决方案,并开发了Interface21框架,这是Spring的前身‌。

1.0版本(2004年)‌:Spring框架在2004年发布了第一个正式版本1.0,包含了IoC容器、AOP、数据访问等核心特性‌。

2.0版本(2006年)‌:2.0版本支持Java 5,引入了注解配置,增加了对Spring MVC等新特性‌。

3.0版本(2009年)‌:3.0版本支持Java 配置,改进了AOP和数据访问功能,提供了RESTful Web服务支持‌。

4.0版本(2013年)‌:4.0版本支持Java 8,引入了Spring WebSocketSpring Security的大量改进‌。

5.0版本(2017年)‌:5.0版本支持Java 9,引入了响应式编程模型和WebFlux框架‌。

5.3版本(2020年)‌:5.3版本支持Java 15,引入了对Micrometer的支持,提供了更好的KotlinR2DBC集成‌。

Spring框架的影响力和应用范围非常广泛。自2004年发布以来,Spring改变了Java开发的格局,影响了全球超过50%的企业。Spring通过其依赖注入、AOP和模块化设计简化了企业级应用开发,其子项目如Spring BootSpring Cloud进一步推动了微服务和云原生时代的发展‌。

三、Spring主要功能特性

轻量级和非侵入性‌:Spring框架设计为轻量级,开发者可以选择性地使用框架的各个模块,而不必改变现有应用的架构。

IoC容器‌:通过控制反转(IoC)和依赖注入(DI),Spring帮助实现松耦合和可扩展的应用程序。

AOP支持‌:允许开发者将横切关注点(如日志记录、事务管理)从业务逻辑中分离,实现模块化。

声明式事务管理‌:通过注解或XML配置,将事务管理逻辑从业务代码中分离,简化事务处理。

数据访问支持‌:提供对‌JDBC、‌ORM(如Hibernate、MyBatis)和NoSQL数据库的支持,简化了数据访问。

Web开发支持‌:包括‌MVC框架、‌RESTful Web服务和‌WebSocket通信,简化了Web应用的开发。

安全性支持‌:提供综合的安全性框架,支持基于角色的访问控制、加密和解密、身份验证和授权等。

集成支持‌:通过提供对各种外部系统和技术的集成支持,使得与其他应用程序、消息队列、缓存、邮件服务等交互变得更加容易。

Spring Framework包含七个核心模块:Spring Core、Spring Context、Spring DAO、Spring ORM、Spring AOP、Spring Web和Spring Web MVC,这些模块覆盖了从基础服务到Web应用的全面支持,使得Java开发人员能够更高效地开发企业级应用程序。

四、学习Spring的方法

1. 学习Spring框架整体设计思想

2. 学习基础操作,思考操作与思想间的联系

3. 学习案例,熟练应用操作的同时,体会思想

4. 深入了解其底层代码实现


原文地址:https://blog.csdn.net/qushaming/article/details/142880285

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!