摘要: 一、执行入口 Spring事务是通过AOP实现,在AOP源码(五):具体执行流程 - 责任链模式中提到AOP流程执行入口为CglibAopProxy#DynamicAdvisedInterceptor#intercept,事务的代理对象入口也是如此。 二、执行流程 在事务源码(三):事务相关对象的创 阅读全文
posted @ 2023-01-03 21:01 无虑的小猪 阅读(485) 评论(0) 推荐(0)
摘要: 事务源码(二)中,已经分析了beanDefinition的加载,下面来创建对应beanDefinition的bean。 1、PropertySourcesPlaceholderConfigurer 创建占位符处理的bean PropertySourcesPlaceholderConfigurer实现 阅读全文
posted @ 2023-01-02 20:49 无虑的小猪 阅读(185) 评论(0) 推荐(0)
摘要: 在AOP源码(三):创建AOP相关的Bean中,介绍了Spring创建AOP的Advisor、AnnotationAwareAspectJAutoProxyCreator的创建,其中被代理类的代理对象是如何创建的未做说明,下面来看看AOP代理对象的创建。 在IOC容器启动完成,容器一级缓存singl 阅读全文
posted @ 2023-01-02 20:37 无虑的小猪 阅读(789) 评论(0) 推荐(0)
摘要: 普通bean标签的beanDefinition的解析不再赘述,仅对事务相关的核心beanDefinition的获取做分析。 一、BeanDefinition预览 IOC容器刷新完成后,容器中的BeanDefinition详情如下: Spring中的事务是基于AOP实现的,在实现AOP中有几个核心的对 阅读全文
posted @ 2022-12-31 20:06 无虑的小猪 阅读(157) 评论(0) 推荐(0)
摘要: 1、新建数据库及表 商品库存表 1 CREATE TABLE `product_stock` ( 2 `goods_id` VARCHAR ( 30 ) NOT NULL, 3 `stock` INT ( 8 ) DEFAULT NULL, 4 PRIMARY KEY ( `goods_id` ) 阅读全文
posted @ 2022-12-30 20:54 无虑的小猪 阅读(142) 评论(0) 推荐(0)
摘要: 1、AOP动态代理的字节码文件 1.1、代理对象class的核心伪代码 1 public class MathCalculator$$EnhancerBySpringCGLIB$$9bfe5203 extends MathCalculator implements SpringProxy, Advi 阅读全文
posted @ 2022-12-29 20:43 无虑的小猪 阅读(535) 评论(0) 推荐(0)
摘要: 在Spring AOP源码(二):BeanDefinition的准备工作中,介绍了Spring准备AOP相关的BeanDefinition对象,同样的对于普通的bean对象的创建此处不再赘述,主要分析动态代理创建器、Advisor是如何实例化的。 1、动态代理模式创建器实例化 在上一篇中已经知道Sp 阅读全文
posted @ 2022-12-28 20:35 无虑的小猪 阅读(209) 评论(0) 推荐(0)
摘要: 1、aop.xml配置文件 1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www.springframework.org/schema/beans" 3 xmlns:xsi="http://www.w3.org/200 阅读全文
posted @ 2022-12-27 20:08 无虑的小猪 阅读(89) 评论(0) 推荐(0)
摘要: 在Spring容器中,要想创建AOP相关的对象就需要创建先准备好相关的beanDefinition信息,这里对于普通bean对象的beanDefinition准备不再赘述,仅介绍AOP的核心对象:AutoProxyCreator和Advisor的BeanDefinition对象的创建过程。 1、be 阅读全文
posted @ 2022-12-27 20:03 无虑的小猪 阅读(170) 评论(0) 推荐(0)
摘要: 1、源码解析 getBean(name)是在IOC容器的顶级接口BeanFactory中定义,由其子类AbstractBeanFactory实现的方法。是IOC容器启动过程中的核心方法。核心方法流程 getBean -> doGetBean -> createBean -> doCreateBean 阅读全文
posted @ 2022-12-26 19:41 无虑的小猪 阅读(278) 评论(0) 推荐(0)