手撸Spring-AOP部分

157 阅读1分钟

基于 JDK、CGlib 实现 AOP 切面

功能描述

基于 JDK、CGlib 实现动态代理,对目标类进行类或者方法的规则判断,对符合要求的类添加增强逻辑的创建代理对象的过程。

类图

aop-AOP-01.drawio.png

流程图

aop-AOP-01-流程.drawio.png

把 AOP 扩展到 Bean 的生命周期

功能描述

借着 BeanPostProcessor 的拓展把动态代 理融入到Bean的生命周期中

类图

aop-AOP-02.drawio.png

流程图

aop-AOP-02-流程.drawio.png

自动扫描 Bean 对象注册

功能描述

1.解析注解Scope、Component 并注册到BeanFactory

2.PropertyPlaceholderConfigurer实现BeanFactoryPostProcessor的拓展机制,对通配符${}的属性进行替换

类图

aop-AOP-03.drawio.png

流程图

aop-AOP-03-流程.drawio.png

通过注解注入属性信息

功能描述

实现注解@Value、@Autowired、@Qualifier三个注解注入Bean的属性

类图

aop-AOP-04.drawio.png

流程图

aop-AOP-04-流程图.drawio.png