12 2022 档案

摘要:普通bean标签的beanDefinition的解析不再赘述,仅对事务相关的核心beanDefinition的获取做分析。 一、BeanDefinition预览 IOC容器刷新完成后,容器中的BeanDefinition详情如下: Spring中的事务是基于AOP实现的,在实现AOP中有几个核心的对 阅读全文
posted @ 2022-12-31 20:06 无虑的小猪 阅读(117) 评论(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 无虑的小猪 阅读(109) 评论(0) 推荐(0) 编辑
摘要:1、AOP动态代理的字节码文件 1.1、代理对象class的核心伪代码 1 public class MathCalculator$$EnhancerBySpringCGLIB$$9bfe5203 extends MathCalculator implements SpringProxy, Advi 阅读全文
posted @ 2022-12-29 20:43 无虑的小猪 阅读(466) 评论(0) 推荐(0) 编辑
摘要:在Spring AOP源码(二):BeanDefinition的准备工作中,介绍了Spring准备AOP相关的BeanDefinition对象,同样的对于普通的bean对象的创建此处不再赘述,主要分析动态代理创建器、Advisor是如何实例化的。 1、动态代理模式创建器实例化 在上一篇中已经知道Sp 阅读全文
posted @ 2022-12-28 20:35 无虑的小猪 阅读(180) 评论(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 无虑的小猪 阅读(67) 评论(0) 推荐(0) 编辑
摘要:在Spring容器中,要想创建AOP相关的对象就需要创建先准备好相关的beanDefinition信息,这里对于普通bean对象的beanDefinition准备不再赘述,仅介绍AOP的核心对象:AutoProxyCreator和Advisor的BeanDefinition对象的创建过程。 1、be 阅读全文
posted @ 2022-12-27 20:03 无虑的小猪 阅读(141) 评论(0) 推荐(0) 编辑
摘要:1、源码解析 getBean(name)是在IOC容器的顶级接口BeanFactory中定义,由其子类AbstractBeanFactory实现的方法。是IOC容器启动过程中的核心方法。核心方法流程 getBean -> doGetBean -> createBean -> doCreateBean 阅读全文
posted @ 2022-12-26 19:41 无虑的小猪 阅读(250) 评论(0) 推荐(0) 编辑
摘要:1、源码解析 1.1、整体逻辑剖析 finishBeanFactoryInitialization(beanFactory);初始化非懒加载的单实例,完成IOC容器的初始化操作。 1 // 完成IOC容器的初始化操作 2 protected void finishBeanFactoryInitial 阅读全文
posted @ 2022-12-25 19:36 无虑的小猪 阅读(65) 评论(0) 推荐(0) 编辑
摘要:1、源码解析 registerBeanPostProcessors(beanFactory); 注册bean的后置处理器。 1 // 按照指定的顺序实例化并注册bean的后置处理器,仅做注册 2 protected void registerBeanPostProcessors(Configurab 阅读全文
posted @ 2022-12-24 19:31 无虑的小猪 阅读(106) 评论(0) 推荐(0) 编辑
摘要:1、源码解析 invokeBeanFactoryPostProcessors(beanFactory)调用各种beanFactory处理器,该方法主要实例化所有已经注册的beanFactoryPostProcessor。 1.1、BeanFactory后置处理核心流程图 1.2、BeanFactor 阅读全文
posted @ 2022-12-23 20:09 无虑的小猪 阅读(165) 评论(0) 推荐(0) 编辑
摘要:1、源码解析 prepareBeanFactory(beanFactory)是beanFactory的准备工作,主要是对beanFactory的各种属性做填充。 1 // beanFactory的准备工作,配置容器上下文,如容器的类加载器和后置处理器 2 protected void prepare 阅读全文
posted @ 2022-12-22 20:05 无虑的小猪 阅读(52) 评论(0) 推荐(0) 编辑
摘要:1、源码解析 配置文件的bean定义解析在obtainFreshBeanFactory()方法中完成的,核心解析是在DefaultBeanDefinitionDocumentReader的parseBeanDefinitions()方法中完成。 1 // 解析配置文件为beanDefinition, 阅读全文
posted @ 2022-12-21 20:53 无虑的小猪 阅读(64) 评论(0) 推荐(0) 编辑
摘要:1、源码解析 obtainFreshBeanFactory()方法包含了 Spring的IOC容器 - DefaultListableBeanFactory对象的创建、解析配置文件中的bean信息加载至容器中。 1 // 创建容器对象DefaultListableBeanFactory,加载xml配 阅读全文
posted @ 2022-12-11 18:33 无虑的小猪 阅读(83) 评论(0) 推荐(0) 编辑
摘要:1、源码解析 prepareRefresh()容器刷新refresh()的第一个方法,是容器刷新前的准备工作。 1 // 容器启动的开始时间 毫秒级 2 private long startupDate; 3 // 容器目前是否活跃的标记 4 private final AtomicBoolean 阅读全文
posted @ 2022-12-10 19:15 无虑的小猪 阅读(111) 评论(0) 推荐(0) 编辑
摘要:Spring有两种方式加载配置,分别为xml文件、注解的方式,对于xml配置的方式相信大家都不陌生,往往通过new ClassPathXmlApplicationContext("*.xml")就能启动容器了,下面让我们来看看Spring的容器启动都做了哪些事情。 1、ClassPatchXmlAp 阅读全文
posted @ 2022-12-10 18:33 无虑的小猪 阅读(275) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示