20220824-Spring的这七大模块你了解吗?
Spring的这七大模块你了解吗?
本猫,在看到这标题的时候就已经懵掉了。😄。。。七大模块是啥???????????????????????????????
先看下spring包含哪七大模块吧?

当看到图的时候,发现。本猫也是接触过这七大模块的。只是不知道而已。哈哈哈。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
1,数据模块(Data Access / intergration)
2,Web模块
3,切面模块(AOP,Aspects)
4,工具模块(Instrumentation)
5,消息模块
6,核心模块
7,测试模块

数据模块与集成模块,Data Access/Integration
在这个模块中,有5各模块:
JDBC(Java Database Connecticity)Java数据库连接----------本猫知道
ORM(Object Relationam Mapping)对象关系映射-----------本猫知道
OXM(Object XML Mapping) 对象XML映射---------母鸡母鸡哦
JMS(Java Message Service)Java消息服务
Transactions 事务

Web模块
这里有四个模块👇
-
-
- Web
- WebMVC
- WebSocket
- WebFlux
-
Web 模块 提供了核心部分,如 编解码,过滤器,序列化,国际化,跨域,转换器,客户端和服务端等等
WebMVC 模块 即我们平时用的 SpringMVC
WebSocket 模块 用来支持这个 全双工通信
WebFlux模块 就是这个响应式Web编程模块


切面模块:
大名钉钉的,,,AOP和Aspect------本猫这里迷糊。这俩不一个鸭子????????
Aop : Aspect Oriented Programming , 面向切面编程 ,是对 OOP 的补充
Aspects :切面
大佬给的解释:
SpringAOP是一个基于代理的AOP框架,日常使用多
SpringAspeccts 模块则定义了5种类型的切面:

具体的待学习AOP时本猫再看看

工具模块 Instrumentation是java的一个接口,可以用来做
1,监控代理
2,事件日志记录
3,代码覆盖率
---------本猫母鸡母鸡
消息模块----本猫觉得,需要看消息中间件。自带的消息模块没用过
Spring-messaging模块提供了一种基于WebSocket的STOMP协议实现
STOMP(Simple Text Oriented Messaging Protocol) 是一种 流文本定向消息协议,也是一种为MOM(Message Oriented Middleware,面向消息的中间件)设计的简单文本协议常见的这几个MQ都支持该协议,比如
RocketMQ,RabbitMQ,ActiveMQ
我们可以通过 Spring 官网的例子上手这个模块,大概如下👇
简单版
启用简单内置消息代理时使用的组件

进阶版
对接外部 MQ 来实现这个广播,订阅等


核心模块:敲黑板,,,核心模块当然是IOC和DI辣-------------------
来到 Spring 最核心的部分,这里有我们熟悉的 控制反转 (Inversion of Control, IOC ) 和依赖注入( Dependency Injection, DI)
这里有四个核心模块👇
-
-
- Beans
- Core
- Context
- Expression
-
每一个模块都很重要,这里先列几个大家熟悉的 Bean
比如:
-
-
BeanFactory在Beans模块中,IOC容器的根接口StopWatch在Core模块中,它是Spring中的一个计时器,在启动Spring项目时经常看到ApplicationContext在Context模块中 ,核心接口ParserContext就在Expression模块中,里面定了这个 EL表达式 的默认前缀#{, 后缀}
-
还剩测试模块,就不介绍了------------------------
核心问题什么是Spring?-----简介Spring----记住!!
前辈java4ye的回答:
Spring 是一个轻量级框架,有七大模块,分别为 数据,Web,切面,工具,消息,核心,测试
总共 20 几个小模块
-
-
- 核心模块有 Beans,Core,Context,Expression , IOC 和 DI⭐
- 切面模块主要有 AOP ,涉及到这个 AOP 编程 ⭐
- Web模块有 Web,WebMVC, WebSocket, WebFlux
- 数据模块主要有 ORM ,TX
-
方便扩展,比如 邮件,缓存,定时任务等模块
浙公网安备 33010602011771号