码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 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的生命周期、依赖关系、国际化、事件传播等。

  • 相关阅读:
    【django2.0之Rest_Framework框架一】rest_framework序列器介绍
    优雅的接口防刷处理方案
    win环境安装SuperMap iserver和配置许可
    诸葛广告分析3大能力全面升级,新增巨量引擎渠道广告监测!
    java---kruskal算法---最小生成树(2)(每日一道算法2022.9.3)
    【clickhouse】一个性能问题,把一个中间件从头到位翻了个遍
    leetcode:6240. 树上最大得分和路径【两次dfs模拟 + 读题题 + 不要用list做py函数的参数!!】
    进阶的风控策略篇:如果筛选最佳策略帮我们锁定优质客群
    数据库系统及应用复习——第十章数据库恢复技术与第十一章并发调度的可串行性
    爬虫系统云平台部署与维护:利用Docker和Kubernetes优化运维
  • 原文地址:https://blog.csdn.net/DU9999999/article/details/133555747
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号