• 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的生命周期、依赖关系、国际化、事件传播等。

  • 相关阅读:
    国产香氛品牌别样的生意经
    get_trade_detail_data函数使用
    js内容混淆,返回内容加密
    GIS工具maptalks开发手册(二)01——渲染点、文字和图片
    选择适合的防火墙需要考虑哪些因素?
    【招聘岗位】软件工程师(全栈)- 公共安全方向
    java计算机毕业设计付费自习室管理系统MyBatis+系统+LW文档+源码+调试部署
    2024得物校招面试真题汇总及其解答(一)
    推荐系统_所有评价模块
    Android Studio 配置Git SVN忽略文件
  • 原文地址:https://blog.csdn.net/DU9999999/article/details/133555747