![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Spring源码
文章平均质量分 97
你想要怎样的未来
一名前进中的 javaer
展开
-
Spring——7. 事务介绍及源码实现(二)
文章目录2.2 事务增强器2.2.1 创建事务2.2.1.1 创建并获取事务2.2.1.1.1 创建事务对象2.2.1.1.2 事务超时设置验证2.2.1.1.3 事务传播行为PropagationBehavior验证2.2.1.1.4 开启事务2.2.1.2 处理已经存在的事务2.2.1.2.1 Spring事务传播行为2.2.1.2.2 Spring事务传播行为的实现2.2.1.3 准备事务信息 TransactionInfo2.2.2 执行目标方法2.2.3 异常回滚处理2.2.3.1 回滚条件2.2原创 2021-02-02 00:08:14 · 147 阅读 · 0 评论 -
Spring——7. 事务介绍及源码实现(一)
文章目录1. 事务的简单使用示例2. 事务的实现2.1 事务自定义标签2.1.1 注册 InfrastructureAdvisorAutoProxyCreator2.1.2 获取class/method的所有增强器2.1.3 获取匹配的增强器2.1.3.1 匹配的准备工作2.1.3.2 提取事务属性和进行匹配Spring事务在软件开发领域中,全有或者全无的操作被称为事务(Transaction),事务允许将几个操作组合成 一个要么全部发生要么全部不发生的工作单元。Spring为事务管理提供了丰富的功能原创 2021-01-24 18:40:04 · 237 阅读 · 0 评论 -
Spring——6. AOP介绍及源码实现(二)
文章目录1. 创建代理2.1 封装Advisor2.2 获取代理对象2.2.1 创建代理2.2.2 获取代理2.2.2.1 JDK动态代理的使用2.2.2.1.1 使用示例2.2.2.1.1 SpringJDK动态代理的实现2.2.2.2 CGLIB代理的使用2.2.2.2.1 使用示例2.2.2.2.2 CGLIB代理的实现1. 创建代理在上文Spring——6. AOP介绍及源码实现(一)的最后已经完成了获取所有对应bean的增强器,在这篇文章中再来继续代理的创建及获取。AbstractAuto原创 2021-01-16 17:35:15 · 530 阅读 · 0 评论 -
Spring——6. AOP介绍及源码实现(一)
文章目录1. AOP介绍1.1 AOP简介1.2 AOP术语1.2.1 定义切点1.2.2 编写切点2. AOP源码实现2.1 AOP简单使用示例2.2 AOP实现2.2.1 AOP自定义标签2.2.1.1 注册 AnnotationAwareAspectJAutoProxyCreator2.2.2 创建AOP代理2.2.2.1 执行postProcessBeforeInstantiation()方法2.2.2.1.1 加载所有增强器2.2.2.1.1.1 增强器的获取2.2.2.1.1.2 增加同步实例化原创 2020-12-24 23:45:01 · 219 阅读 · 1 评论 -
Spring——5. ApplicationContext容器的功能扩展
文章目录1. XML配置文件的读取1.1 ApplicationContext配置文件的读取1.1.1 设置配置路径2. 扩展功能2.1 环境准备2.1.1 initPropertySources2.1.2 validateRequiredProperties2.2 初始化BeanFactory2.2.1 定制BeanFactory2.2.2 加载BeanDefinition2.3 正式扩展功能2.3.1 增加SpEL语言的支持2.3.2 增加属性注册编辑器2.3.3 增加 ApplicationConte原创 2020-12-14 22:21:20 · 345 阅读 · 0 评论 -
Spring——4. Bean的加载(二)
文章目录1. Spring中的循环依赖1.1 什么是循环依赖1.2 Spring中对于循环依赖的解决1.2.1 构造器循环依赖1.2.2 setter循环依赖(singleton)1.2.3 setter循环依赖(prototype)2. 真正创建bean(doCreateBean)2.1 创建bean的实例2.1.1 解析class2.1.2 处理Supplier2.1.3 处理factoryMethodName2.1.4 解析构造函数2.1.4.1 autowireConstructor2.1.4.2原创 2020-12-05 00:26:47 · 271 阅读 · 0 评论 -
Spring——4. Bean的加载(一)
文章目录1. 转换对应的beanName1.1 FactoryBean1.1.1 FactoryBean的作用1.1.2 FactoryBean的使用1.2 转换beanName2. 缓存中获取单例bean3. 从bean实例中获取真正的bean对象4. 从头开始bean实例的加载4.1 原型模式的依赖检查4.2 检测parentBeanFactory4.3 标记 alreadyCreated4.4 转换GenericBeanDefinition为RootBeanDefinition4.5 寻找依赖4.6原创 2020-11-23 23:01:55 · 240 阅读 · 0 评论 -
Spring——3. 自定义标签的解析
文章目录1. 自定义标签的使用2. 自定义标签的解析2.1 获取自定义标签的命名空间2.2 获取自定义标签的自定义处理器2.2.1 获取handlerMappings2.2.2 通过namespaceUri获取NamespaceHandler2.3 解析自定义标签2.3.1 获取自定义标签的自定义解析器2.3.2 调用父类解析器进行解析3. 整体流程思维导图自定义标签的解析在上文中完成了Spring中对默认标签的解析过程的分析,现在继续Spring中自定义标签的解析。delegate.parseCus原创 2020-11-19 23:23:12 · 167 阅读 · 0 评论 -
Spring——2. 默认标签的解析
文章目录1. bean标签的解析及注册1.1 解析BeanDefinition1.1.1 创建用于承载属性的 BeanDefinition1.1.1.1 AbstractBeanDefinition1.1.1.2 GenericBeanDefinition1.1.2 解析各种属性1.1.3 解析子元素 meta1.1.4 解析子元素 lookup-method1.1.5 解析子元素 replaced-method1.1.6 解析子元素 constructor-arg1.1.7 解析子元素 property1原创 2020-11-12 22:52:24 · 256 阅读 · 0 评论 -
Spring——1. BeanFactory容器的初始化
最近在学习Spring源码相关部分,第一篇文章就从Spring源码开始吧。文章目录1. XML配置文件的读取1.1 XmlBeanFactory配置文件的读取1.1.1 ClassPathResource到Resource1.1.2 XmlBeanFactory加载BeanDefinitions2. 加载BeanDefinitions2.1 XML配置文件解析的准备阶段2.1.1 获取XML的验证模式2.1.1.1 DTD2.1.1.2 XSD2.1.1.3 验证模式的读取2.1.2 获取Document原创 2020-11-07 22:14:15 · 500 阅读 · 0 评论