Spring AOP基于XML方式笔记整理

XML AOP 加载流程
  1. ClassPathXmlApplicationContext#refresh
  2. AbstractApplicationContext#obtainFreshBeanFactory
  3. AbstractRefreshableApplicationContext#refreshBeanFactory
  4. 创建DefaultListableBeanFactory
  5. AbstractApplicationContext#loadBeanDefinitions(beanFactory)
  6. 创建XmlBeanDefinitionReader(beanFactory)
  7. AbstractApplicationContext#loadBeanDefinitions(beanDefinitionReader)
  8. AbstractBeanDefinitionReader#loadBeanDefinitions(locations)
  9. XmlBeanDefinitionReader#loadBeanDefinitions(encodedResource)
  10. XmlBeanDefinitionReader#doLoadBeanDefinitions(inputSource, resource)
  11. XmlBeanDefinitionReader#registerBeanDefinitions(doc, resource)
  12. 创建DefaultBeanDefinitionDocumentReader对象
  13. DefaultBeanDefinitionDocumentReader#registerBeanDefinitions(doc, readerContext)
  14. DefaultBeanDefinitionDocumentReader#doRegisterBeanDefinitions(element)
  15. DefaultBeanDefinitionDocumentReader#parseBeanDefinitions(element, delegate)
  16. 解析默认标签:DefaultBeanDefinitionDocumentReader#parseDefaultElement
  17. 解析非默认标签:BeanDefinitionParserDelegate#parseCustomElement(ele)
解析非默认标签
  1. 通过element获取namespaceUri
  2. 从readerContext中获取NamespaceHandler: DefaultNamespaceHandlerResolver
  3. DefaultNamespaceHandlerResolver#resolve(namespaceUri)
  4. 从META-INF/spring.handlers中加载所有的handlerMapping并根据namespaceUri获取匹配的值
  5. 实例化AopNamespaceHandler并调用init进行初始化,并返回实例对象
  6. NamespaceHandlerSupport#parse(element, parserContext) 解析标签beanDefinition信息
  7. 根据标签获取AopNamespaceHandler中注册的BeanDefinitionParser
  8. ConfigBeanDefinitionParser#parse(element, parserContext)解析pointcut, advisor, aspect信息
相关推荐
风流 少年20 分钟前
Spring AI 2.0:SSE
java·人工智能·spring
晚染烟4 小时前
每日八股day25
spring
lv__pf12 小时前
Spring之AOP底层源码解析(下)【TL spring14】
java·后端·spring
互联网中的一颗神经元14 小时前
02. 核心概念与术语表
java·jvm·spring
晚染烟1 天前
每日八股day24
spring
一个有温度的技术博主1 天前
从“为什么要用 Spring“到“它到底帮我解决了什么“
java·spring
LitchiCheng1 天前
还在改xml调相机?MuJoCo交互式可视化调整相机安装位置
xml·数码相机
风流 少年1 天前
Spring AI 2.0:Flux
java·人工智能·spring
用户3126874877202 天前
一个请求进来到底发生了什么?Spring MVC 请求处理全链路源码拆解
spring
爱敲键盘的猴子2 天前
Spring MVC 详解(一):全注解开发与请求响应处理
java·spring·mvc