• Spring三大核心组件


    Spring架构图

    模块介绍

    1. Spring Core(核心容器):提供了IOC,DI,Bean配置装载创建的核心实现。

    • spring-core :IOC和DI的基本实现

    • spring-beans:BeanFactory和Bean的装配管理(BeanFactory)

    • spring-context:Spring context上下文,即IOC容器(AppliactionContext)

    • spring-expression:spring表达式语言

    2. Spring AOP

    • spring-aop:面向切面编程的应用模块,整合ASM,CGLib,JDK Proxy

    • spring-aspects:集成AspectJ,AOP应用框架

    • spring-instrument:动态Class Loading模块

    3. Spring Data Access

    • spring-jdbc:spring对JDBC的封装,用于简化jdbc操作

    • spring-orm:java对象与数据库数据的映射框架

    • spring-oxm:对象与xml文件的映射框架

    • spring-jms: Spring对Java Message Service(java消息服务)的封装,用于服务之间相互通信

    • spring-tx:spring jdbc事务管理

    4. Spring Web

    • spring-web:最基础的web支持,建立于spring-context之上,通过servlet或listener来初始化IOC容器

    • spring-webmvc:实现web mvc

    • spring-websocket:与前端的全双工通信协议

    • spring-webflux:Spring 5.0提供的,用于取代传统java servlet,非阻塞式Reactive Web框架,异步,非阻塞,事件驱动的服务

    5. Spring Message

    • Spring-messaging:spring 4.0提供的,为Spring集成一些基础的报文传送服务

    6. Spring test

    • spring-test:集成测试支持,主要是对junit的封装

    Spring三大核心组件

    spring-core(核心)

    思想:Core组件的核心思想是控制反转(IoC)和依赖注入(DI),它将对象的创建、组装和管理的责任从应用程序代码中转移到了Spring容器中,实现了对象之间的松耦合和可维护性。

     作用:Core组件提供了核心的基础设施和工具,如资源管理、类型转换、事件发布等。

    spring-beans(Bean容器)

     思想:通过Bean容器管理和组装对象。它使用配置文件或注解来定义和描述Bean,然后通过依赖注入将Bean注入到其他对象中,实现对象之间的协作和解耦。

    作用:Beans组件提供了Bean的定义、创建、配置和生命周期管理,它包含了BeanFactory接口,用于实例化和管理Beans,以及BeanPostProcessor接口用于在Bean实例化和初始化过程中提供自定义的处理逻辑。

    spring-context(应用上下文)

    思想:Context组件的思想是提供一个大型、功能丰富的应用程序上下文容器。它扩展了Beans组件,提供了更高级的功能和特性,如国际化、资源管理、事件传播等。

    作用:Context组件提供了ApplicationContext接口,作为应用程序的主要接口,负责管理整个应用程序的生命周期和依赖关系,管理Beans的生命周期、依赖关系、国际化、事件传播等。

  • 相关阅读:
    DoLa:对比层解码提高大型语言模型的事实性
    ChatGPT AutoExpert:通过自定义指令,增强 GPT-4 和 GPT-3.5-Turbo 对话模型的功能
    epoll与socket缓冲区的恩恩怨怨
    分享好用无广告的手机浏览器,亲测值得下载
    两台电脑共享文件设置
    以命令行形式执行Postman脚本(使用Newman)
    C#获取枚举Enum的描述
    php-msf源码详解
    王道 第一章 计算机网络的概念
    托育老师每天只是“看”孩子吗?“托”和“育”哪个更重要?
  • 原文地址:https://blog.csdn.net/DU9999999/article/details/133555747