spring 扫描所有_Spring概述

e752938d47e69dc2dfe30bf16736d16d.png

Spring概述

Spring 总共大约有 20 个模块,由 1300 多个不同的文件构成。而这些组件被分别整合在核心容器 (Core Container)、AOP(Aspect Oriented Programming)和设备支持(Instrmentation)、 数据访问及集成(Data Access/Integeration)、Web、报文发送(Messaging)、Test,6 个模块 集合中。以下是 Spring 5 的模块结构图:

b4f1cdbace0044febdd25a3e013998e6.png

spring源码

f1b25b3e8c7807f65ec32e5dfbfc240b.png

核心模块

  • spring-core:依赖注入DI与IOC的最基本实现
  • spring-beans:spring所有的bean工厂以及bean的装备都在这里面完成
  • spring-context:定义基础的spring的Context上下文也就是IOC容器
  • spring-context-support:对spring IOC容器的扩展支持,以及IOC的子容器
  • spring-context-indexer:spring的类管理组件和对classpath扫描,类加载路径的管理
  • spring-expression:包含spring中所有的表达式语言

切面编程

  • spring-aop:面向切面编程的应用模块,整合Asm、cglib、jdkProxy
  • spring-aspects:集成AspectJ、Aop应用框架
  • spring-instrument: 动态class loading 模块,扫描类文件并加载类文件

数据访问与集成:

  • spring-jdbc:spring提供的jdbc抽象框架的主要实现模块,用于简化spring jdbc操作
  • spring-tx:spring jdbc事务控制实现模块
  • spring-orm:主要集成hibernate、jpa(java persistence api)、jdo(java data objects)
  • spring-oxm:将Java对象映射成xml数据,或者xml转换成java对象
  • spring-jms:java messaging service 进行消息的发送与接收

web组件:

  • spring-web:提供了最基础的web支持,主要建立于核心容器之上,通过servlet或者listeners来初始化ioc容器
  • spring-webmvc:实现了spring mvc 的web应用
  • spring-websocket:主要是与web前端的全双工通讯协议
  • spring-webflux:一个新的非堵塞函数式reactive web 框架,可以用来建立异步的,非堵塞的事件驱动服务

通信报文:

  • spring-messaging:spring4以后新加入的一个模块,主要负责spring框架集成一些基础的报文传送应用

集成测试:

  • spring-test:主要为测试提供支持

集成兼容

  • spring-framework-bom:Bill of Materials,解决spring的不同模块依赖版本不同的问题
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值