看过源码吗?说下 Spring 由哪些重要的模块组成?

看过源码吗?说下 Spring 由哪些重要的模块组成?

Spring

Spring框架是一个庞大的生态系统,包含多个模块,每个模块都为不同的功能提供支持。以下是Spring的主要模块及其职责:

├── Core Container(核心容器)

│ ├── Spring-core

│ ├── Spring-beans

│ ├── Spring-context

│ └── Spring-expression(SpEL)

├── AOP

│ ├── Spring-aop

│ └── Spring-aspects(AspectJ集成)

├── Data Access / Integration

│ ├── Spring-jdbc

│ ├── Spring-tx(事务)

│ ├── Spring-orm(Hibernate/JPA集成)

│ └── Spring-data(不是Spring核心,但生态重要)

├── Web

│ ├── Spring-web

│ ├── Spring-webmvc(SpringMVC)

├── Test

│ └── Spring-test

1️. Spring-core & Spring-beans

核心功能:IoC 容器实现

BeanFactory、ApplicationContext

Bean 定义、生命周期管理、依赖注入

提供了反射、工具类、类型转换、资源加载等底层支持

是 Spring 的基础,所有功能的核心

小结:

2. Spring-context

应用上下文容器(ApplicationContext)

支持国际化、事件发布、环境变量、JavaConfig 等

支持注解:@Component、@Service、@Repository、@Autowired 等

也包括对 AOP、Web、JPA、缓存等模块的集成入口

小结:

Spring IOC源码解析

3. Spring-expression(SpEL)

Spring 表达式语言

支持在注解或配置中写表达式:

@Value("#{user.age > 18 ? 'adult' : 'teen'}")

用于动态属性注入、条件判断等

4. Spring-aop & Spring-aspects

面向切面编程(AOP)模块

支持声明式事务、日志、权限控制等横切逻辑

核心接口有:Advice、Pointcut、Advisor、ProxyFactory

可集成 AspectJ 语法增强

5. Spring-jdbc / Spring-tx / Spring-orm

数据访问支持模块

Spring-jdbc:简化 JDBC 操作

Spring-tx:统一事务抽象,支持声明式事务管理

Spring-orm:与 JPA、Hibernate、MyBatis 等集成

小结

SpringBean的生命周期

Spring 如何解决循环依赖?

Spring IOC源码解析

Spring 事务

Spring的拦截器和过滤器的区别

SpringMVC的执行过程

Spring 如何解决循环依赖?

Spring Boot

├── Spring-boot

│ ├── Spring-boot-autoconfigure 自动配置核心模块

│ ├── Spring-boot-starter-parent 统一依赖管理(继承关系)

│ ├── Spring-boot-starters 一系列启动器(starter-*)

│ ├── Spring-boot-actuator 健康检查 / 监控接口

│ ├── Spring-boot-loader 可执行 JAR 支持

│ └── Spring-boot-devtools 热部署

小结

SpringBoot的自动装配原理

Spring Cloud

├── Spring-cloud-commons 公共依赖,服务发现/负载均衡抽象

├── Spring-cloud-netflix Netflix 技术集成(Eureka、Ribbon、Hystrix)

├── Spring-cloud-openfeign 声明式 REST 调用

├── Spring-cloud-config 分布式配置中心

├── Spring-cloud-gateway API 网关

├── Spring-cloud-stream 消息驱动微服务(Kafka/RabbitMQ)

├── Spring-cloud-bus 消息总线(配置刷新)

├── Spring-cloud-alibaba 阿里生态(Nacos、Sentinel 等)

├── Spring-cloud-sleuth 链路追踪(Zipkin 集成)

├── Spring-cloud-loadbalancer Spring Cloud 自带的负载均衡器(替代 Ribbon)

相关文章