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都支持该协议,比如 RocketMQRabbitMQActiveMQ

  我们可以通过 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

方便扩展,比如 邮件,缓存,定时任务等模块

         

posted @ 2022-08-24 17:26  爱吃猫的鱼9527  阅读(91)  评论(0)    收藏  举报