Spring概述(精)

Spring概述—Spring简介,Spring体系 (精)


Spring是什么?

百度:Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建。简单来说,Spring是一个分层的JavaSE/EE full-stack(一站式) 轻量级开源框架。

1)Spring为什么是一站式的?

一站式实际上是在夸Spring很全面,因为它对各种主流技术和框架都进行了整合,外面很多技术都可以跟spring完美整合进行工作。

2)Spring为什么是轻量级框架?

轻量级和重量级的划分主要依据以看它使用了多少服务,启动时需要加载的资源以及耦合度等因素

首先,轻量级是比较出来的,如和EJB比较。
Spring容器本身提供了很多服务,但是这些服务并不是默认打开的,我们可以根据需求去指明需要某些服务,我们只需要打开使用的一些服务即可。从大小上来说,Spring的核心包容量大小不到1MB,使用Spring核心包的资源负担也小。
EJB来源于官方,设计目标与核心应用是部署分布式应用程序。目前EJB容器就默认为应用提供了EJB规范中所有的功能,它属于重量级框架。但是软件发展到目前为止,大多数应用不需要采用分布式的解决方案,因此用EJB显得太臃肿了。
举个例子:你家闯入一匹狼,警察要来帮你清理。EJB就相当于坦克,Spring就相当于步枪,你说你用哪个。


为什么学习Spring?

1)方便解耦,简化开发

Spring就是一个容器,可以将所有对象创建和关系维护交给Spring管理
什么是耦合度?对象之间的关系,通常说当一个模块(对象)更改时也需要更改其他模块(对象),这就是耦合,耦合度过高会使代码的维护成本增加。要尽量解耦

2)AOP编程的支持

Spring提供面向切面编程,方便实现程序进行权限拦截,运行监控等功能。

3)声明式事务的支持

通过配置完成事务的管理,无需手动编程

4)方便测试,降低JavaEE API的使用

Spring对Junit4支持,可以使用注解测试

5)方便集成各种优秀框架

不排除各种优秀的开源框架,内部提供了对各种优秀框架的直接支持

就知道有些同学看不懂,不要急,后面会一一解释

Spring体系

Spring 框架是一个分层架构,由 7 个定义良好的模块组成。Spring 模块构建在核心容器之上,核心容器定义了创建、配置和管理 bean 的方式如下图:
Spring概述(精)_第1张图片

Spring 是模块化的,允许你挑选和选择适用于你的模块,不必要把剩余部分也引入。下面大致介绍各大模块的内容:

1)Core Container核心容器

	包含了Spring框架基本的核心工具类,Core模块是其他组件的基本核心。

core部分包含4个模块:
1、spring-core:依赖注入IoC与DI的最基本实现
2、spring-beans:Bean工厂与bean的装配
3、spring-context:spring的context上下文即IoC容器
4、spring-expression:spring表达式语言

2)数据访问/集成

数据访问/集成层包括 JDBC,ORM,OXM,JMS 和事务处理模块(简)

3)Web

Web 层由 Web,Web-MVC,Web-Socket 和 Web-Portlet 组成 (简)

4)AOP

AOP:提供了面向切面编程的实现,让你可以定义方法拦截器和切点,从而将逻辑代码分开,降低代码间的耦合性。
Aspects:提供了对AspectJ的集成支持,这是一个功能强大且成熟的面向方面编程(AOP)框架。
WebSocket:提供了一个在Web应用中高效、双向的通信工具。
Instrumentation:提供了在特定的应用服务器中使用类工具的支持和类加载器实现。

5)Test

支持使用JUnit和TestNG对Spring组件进行测试。

Spring体系简写了一部分,有需要的朋友可以取查阅其他笔记

本文以Spring初学开篇为主,下一章:配置Spring开发环境https://blog.csdn.net/qq_34598667/article/details/83184940

你可能感兴趣的:(Spring)