打好基础
5 组 · 20 篇Spring入门基础
2 篇Spring核心概念
3 篇Spring配置方式
3 篇Spring Bean管理
5 篇Bean的作用域
Spring Bean支持多种作用域,包括singleton(单例)、prototype(多例)、request、session、application等,默认为singleton。
Bean的生命周期
Spring Bean生命周期包括实例化、属性赋值、初始化、销毁四个阶段,可通过多种方式在各个阶段进行扩展。
自动装配
Spring自动装配通过@Autowired、@Resource等注解自动注入依赖,支持构造器、Setter、字段三种注入方式,推荐使用构造器注入。
Bean的继承
Spring支持Bean配置的继承,子Bean可以继承父Bean的配置信息,实现配置的复用和模块化,不同于Java类的继承。
Bean的别名
Spring允许为Bean定义多个别名,通过alias标签或name属性配置,便于在不同场景下使用不同的名称引用同一Bean。
Spring AOP
7 篇AOP概念
AOP(面向切面编程)是Spring框架的核心特性之一,通过将横切关注点与业务逻辑分离,实现代码的模块化和复用。
AOP术语
AOP核心术语包括切面、连接点、切入点、通知、目标对象、代理、织入,掌握这些术语是理解AOP的基础。
AOP代理
Spring AOP通过动态代理实现切面织入,支持JDK动态代理和CGLIB两种方式,根据目标类是否实现接口自动选择代理机制。
AOP通知类型
Spring AOP提供5种通知类型,分别是前置通知、后置通知、返回通知、异常通知和环绕通知,每种通知在不同时机执行。
AOP切入点表达式
切入点表达式用于匹配连接点,Spring AOP使用AspectJ切入点语法,支持execution、within、@annotation等多种指示符。
AOP实现方式
Spring AOP支持注解方式和XML配置方式实现切面,注解方式更简洁直观,推荐使用@AspectJ注解风格开发AOP。
AOP应用场景
AOP广泛应用于日志记录、事务管理、权限控制、性能监控、缓存等场景,将横切关注点与业务逻辑分离,提高代码复用性。
核心能力
4 组 · 25 篇Spring 数据访问基础
3 篇Spring AOP高级
4 篇Spring AOP原理
深入理解Spring AOP的核心原理,包括代理对象创建、切面织入时机、Joinpoint连接点、Pointcut切点表达式及Advice通知类型的底层机制。
AOP代理机制
Spring AOP通过动态代理实现横切关注点的分离,本文详解JDK动态代理与CGLIB代理的原理、区别及配置方式。
多个切面执行顺序
当多个切面作用于同一连接点时,需要明确执行顺序。本文详解@Order注解、Ordered接口及切面链式调用的执行规则。
AOP实战案例
通过实际场景展示Spring AOP的应用,包括日志记录、性能监控、权限校验、分布式锁等典型案例的完整实现。
Spring 事务
8 篇事务的基本概念与ACID属性
事务是数据库操作的基本单元,本文详解ACID四大特性及其实际意义,理解事务管理的核心基础。
Spring事务管理接口PlatformTransactionManager
深入理解Spring事务管理的核心接口PlatformTransactionManager,掌握事务管理器的工作原理和常用实现类。
声明式事务与编程式事务
对比Spring的两种事务管理方式,详解声明式事务(@Transactional)和编程式事务(TransactionTemplate)的使用场景和最佳实践。
@Transactional注解详解
深入解析@Transactional注解的所有属性配置,包括传播行为、隔离级别、回滚规则、超时设置等核心参数的使用方法。
事务传播行为
详解Spring事务的7种传播行为,通过代码示例说明REQUIRED、REQUIRES_NEW、NESTED等传播行为的执行逻辑和适用场景。
事务隔离级别
深入理解事务隔离级别,详解脏读、不可重复读、幻读问题及Spring支持的五种隔离级别的选择策略。
事务超时与回滚规则
掌握@Transactional注解的超时配置和回滚规则,合理设置事务超时时间,精确控制异常回滚行为。
Spring事务与数据库锁
深入理解Spring事务与数据库锁的关系,详解悲观锁、乐观锁的实现方式及在高并发场景下的正确使用策略。
Spring 容器扩展点
10 篇BeanFactoryPostProcessor
BeanFactoryPostProcessor在Bean实例化前修改BeanDefinition,可修改属性值、添加Bean定义,是容器级扩展点。
BeanPostProcessor
BeanPostProcessor是Bean实例化后的扩展接口,可在初始化前后对Bean进行自定义处理,是AOP、注解处理等核心机制的基石。
InitializingBean 和 DisposableBean
InitializingBean和DisposableBean是Spring生命周期回调接口,分别在Bean初始化完成后和销毁前执行,实现自定义初始化和清理逻辑。
Aware 接口
Aware接口系列让Bean获取Spring容器资源,包括BeanFactory、ApplicationContext、BeanName等,实现容器回调机制。
ApplicationContextAwareProcessor
ApplicationContextAwareProcessor是Spring内置BeanPostProcessor,负责处理Aware接口回调,将容器资源注入到Bean中。
BeanFactoryAware
BeanFactoryAware接口允许Bean获取BeanFactory实例,实现容器回调机制,获取其他Bean或访问容器功能。
ApplicationListener 和 ApplicationEvent
Spring事件机制通过ApplicationEvent和ApplicationListener实现解耦通信,支持自定义事件、异步监听及事件发布订阅模式。
SmartInitializingSingleton
SmartInitializingSingleton接口在所有单例Bean初始化完成后执行回调,适合执行需要等待所有Bean就绪的初始化逻辑。
FactoryBean
FactoryBean是创建Bean的工厂接口,可自定义Bean创建逻辑,支持单例/原型模式,常用于创建复杂对象或代理对象。
BeanDefinitionRegistryPostProcessor
BeanDefinitionRegistryPostProcessor继承BeanFactoryPostProcessor,可动态注册BeanDefinition,在标准后处理器之前执行,优先级更高。
高阶实战
2 组 · 8 篇Spring 源码级原理
4 篇Spring IoC容器与Bean生命周期源码解析
深入剖析 Spring IoC 容器核心原理,详解 Bean 生命周期各阶段源码实现,包括实例化、属性注入、初始化、销毁全流程。
Spring 依赖注入原理与循环依赖解决方案
深入解析 Spring 依赖注入实现原理,详解三级缓存解决循环依赖机制,剖析构造器循环依赖的处理方式。
Spring AOP代理机制与实现源码解析
深入剖析 Spring AOP 代理实现原理,详解 JDK 动态代理与 CGLIB 代理机制、切面执行链、事务传播源码实现。
Spring事件机制原理与实战
深入解析 Spring 事件驱动机制,涵盖事件发布订阅模式、ApplicationEvent 源码实现、异步事件配置与事务绑定事件。
Spring 性能调优
4 篇Spring 连接池配置详解
深入讲解 Spring 中数据库连接池的配置方法,包括 HikariCP、Druid 等主流连接池的核心参数优化与最佳实践。
Spring 缓存策略深度解析
全面讲解 Spring 缓存抽象机制,涵盖缓存注解使用、多级缓存架构、缓存穿透/击穿/雪崩解决方案。
Spring 异步处理机制详解
深入讲解 Spring 异步处理机制,包括 @Async 注解原理、线程池配置、异步回调与异常处理最佳实践。
Spring 数据库优化实践
全面讲解 Spring 数据库优化策略,包括 JPA/Hibernate 优化、SQL 调优、批量操作、索引设计与慢查询分析。