Spring 术语与缩写速查

发布于 2026-05-26 09:43 👁 11 次阅读
#spring#cheatsheet

Spring 生态常用术语、缩写与核心接口速查。本目录下所有笔记中出现的缩写均以此为准。

相关笔记Spring 容器启动流程源码分析 · Spring 三级缓存与循环依赖 · SpringBoot 启动流程源码分析


核心缩写

缩写 全称 说明
IOC Inversion of Control 控制反转,对象创建和依赖管理由容器负责
DI Dependency Injection 依赖注入,IOC 的具体实现方式
AOP Aspect-Oriented Programming 面向切面编程,横切关注点(日志/事务/权限)的模块化
MVC Model-View-Controller Spring Web 层的架构模式
POJO Plain Old Java Object 普通 Java 对象,不继承特定框架类
SPeL Spring Expression Language Spring 表达式语言,用于 @Value@Conditional
TX Transaction 事务,常见于 @TransactionalPlatformTransactionManager

BeanFactory 相关

缩写 全称 触发时机 典型实现
BPP BeanPostProcessor Bean 初始化前后(步骤⑥⑪) AutowiredAnnotationBeanPostProcessorAbstractAutoProxyCreator
BFPP BeanFactoryPostProcessor BeanDefinition 加载完成后(步骤⑤) PropertySourcesPlaceholderConfigurer
BDRPP BeanDefinitionRegistryPostProcessor BFPP 之前执行,可新增 BeanDefinition(步骤⑤) ConfigurationClassPostProcessor、MyBatis MapperScannerConfigurer
BF BeanFactory DefaultListableBeanFactory(最常用的完整实现)
AC ApplicationContext AnnotationConfigApplicationContextAnnotationConfigServletWebServerApplicationContext

执行顺序:BDRPP → BFPP → BPP(注册)→ Bean 实例化 → BPP(回调)


代理相关

缩写 全称 说明
JDK Proxy JDK Dynamic Proxy 基于接口,java.lang.reflect.Proxy,目标类必须实现接口
CGLIB Code Generation Library 基于继承,字节码生成子类,不要求接口,目标类不能是 final
APC AbstractAutoProxyCreator Spring AOP 的核心 BPP,在 postProcessAfterInitialization 生成代理
CTW Compile-Time Weaving AspectJ 编译时织入,用 ajc 替代 javac,直接生成织入后的字节码;this 调用不失效
PTW Post-Compile Weaving AspectJ 编译后织入,对已有 .class/jar 再次处理织入切面
LTW Load-Time Weaving AspectJ 加载时织入,通过 -javaagent:aspectjweaver.jar 在类加载瞬间修改字节码;this 调用不失效,无需修改编译流程

配置与属性相关

缩写 全称 说明
PS PropertySource 属性源,Spring Environment 的基本单元
EPP EnvironmentPostProcessor SpringBoot 扩展点,prepareEnvironment 阶段修改属性源
ACI ApplicationContextInitializer refresh() 前回调,可注册 PS 或激活 Profile
AL ApplicationListener 监听 ApplicationEvent 的观察者

生命周期相关

缩写 全称 说明
SL SmartLifecycle 可控启停顺序的 Lifecycle,按 phase 值排序(小→先启动,大→先停止)
LC LifecycleProcessor 管理所有 Lifecycle Bean 的启动和停止
STW Stop-The-World GC 暂停所有应用线程的阶段(JVM 层,非 Spring)

三级缓存(循环依赖)

缩写/变量名 含义
singletonObjects 一级缓存,完整 Bean
earlySingletonObjects 二级缓存,早期引用(可能是代理)
singletonFactories 三级缓存,ObjectFactory<?>
earlyA / earlyB 从三级缓存取出的早期引用,还未完成初始化

refresh() 步骤编号对照

本目录笔记中用①~⑫指代 AbstractApplicationContext#refresh() 的 12 个步骤:

编号 方法名 说明
prepareRefresh 上下文状态初始化
obtainFreshBeanFactory 获取/刷新 BeanFactory
prepareBeanFactory 注册基础设施 BPP
postProcessBeanFactory 子类扩展(Web scope 注册)
invokeBeanFactoryPostProcessors 执行 BDRPP + BFPP
registerBeanPostProcessors 注册所有 BPP
initMessageSource 国际化
initApplicationEventMulticaster 事件广播器
onRefresh 子类扩展(SpringBoot 创建 Tomcat)
registerListeners 注册 ApplicationListener
finishBeanFactoryInitialization 实例化所有非懒加载 Bean
finishRefresh 发布 ContextRefreshedEvent,开放端口
← 返回列表

评论 (0)

暂无评论,来留下第一条吧。
登录注册 后才能发表评论