自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 Spring源码(八):Spring事务详解

如果多个DML语句是同一个连接对象操作的,他们的算作同一个事务,前提是关闭自动提交Spring事务切面事务切面开启注解@EnableTransactionManagement,由注解上的@Import(TransactionManagementConfigurationSelector.class)来到selectImports方法。PROXY代表JDK事务,引入了AutoProxyRegistrar和ProxyTransactionManagementConfiguration。AutoProxy

2021-06-21 17:06:59 958

原创 Spring源码(七):Spring AOP 详解

一、几种BeanDefinitionRootBeanDefinitionGenericBeanDefinition#通过Compoent-scan扫描得到new ScannedGenericBeanDenition(metadata);#@Import进来的和内部类new AnnotatedGenericBeanDefinition(metadata); AnmotatedGenericBeanDefinition#GBean解析得到 new ConfigurationClassBeanDefin

2021-06-21 16:10:41 577

原创 Kafka入门

kafkakafka是什么Apache Kafka 是一款开源的消息引擎系统。消息引擎系统是一组规范。企业利用这组规范在不同系统之间传递语义准确的消息,实现松耦合的异步式数据传递。待传输消息的格式:使用的是纯二进制的字节序列,消息还是结构化的,只是在使用之前都要将其转换成二进制的字节序列。传输协议:点对点模型、发布 / 订阅模型...

2021-05-11 17:26:43 102

原创 Spring源码(六):ConfigurationClassPostProcessor详解

ConfigurationClassPostProcessor详解本篇主要详细说明ConfigurationClassPostProcessor。目前都是通过纯注解的方式使用Spring框架,虽然侵入性很强,但是能减少开发人员的工作量。基于注解的方式用AnnotationConfigApplicationContext上下文对象。进入this,来到AnnotatedBeanDefinitionReader,可以看到registerAnnotationConfigProcessors中注册了Confi

2021-04-11 16:40:51 6521 2

原创 Spring源码(五):Spring循环依赖详解

Spring循环依赖Spring循环依赖的3种情况单例@Autowired循环依赖功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入Spring循环依赖的3种情况单例@Autowired循环依赖单例构造函数上的循环依赖多例的

2021-03-13 21:38:28 277

原创 Spring源码(四):注解的收集与依赖注入、initializeBean、Bean的销毁

Spring源码——注解实例化Bean只是在堆内存划了一片空间,Bean中带有@Autowired注解的属性是没有值的。applyMergedBeanDefinitionPostProcessors中会收集各种注解。CommonAnnotationBeanPostProcessor支持@PostConstruct,@PreDestroy,@Resource注解。AutowiredAnnotationBeanPostProcessor 支持 @Autowired,@Value注解。在Autowired

2021-03-12 17:48:57 308

原创 Spring源码(三):Bean的实例化过程

Spring——Bean的实例化一、实例化FactoryMethodName方法对应的实例二、实例化带有@Autowired注解的有参构造方法Bean的实例化从finishBeanFactoryInitialization进入,循环之前加入到beanDefinitionName的beanName。把父类属性复制到子类中,判断根据BeanDefinition判断bean是否是抽象的、单例的、懒加载的。从getBean来到doGetBean,先从缓存中拿对象,拿到了就做类型转换然后返回。如果缓存中没有,则

2021-03-10 16:49:35 678

原创 Spring源码(二):Spring在Bean实例化前的操作

Spring之Bean实例化前的操作一、invokeBeanFactoryPostProcessors二、registerBeanPostProcessors三、initApplicationEventMulticaster        上一篇介绍了BeanDefinition对象的构建与注册,但是还没有涉及到bean的实例化,这一篇先来看下bean实例化之前做了哪些事情。其中,国际化可以忽略。一、invokeBeanF

2021-03-06 23:15:35 1188

原创 Spring源码(一):Spring解析XML文件构建BeanDefinition对象

Spring构建BeanDefinition对象一、Spring解析XML文件构建BeanDefinition一般通过3种方式搭建Spring框架:Spring xml、Spring注解、SpringBoot。Spring xml的方式很古老,现在基本上没人用,但是要知道Spring的底层原理,还得从xml讲起。一、Spring解析XML文件构建BeanDefinitionSpring通过流的方式加载配置文件,然后封装成Resource对象loadBeanDefinitions用到了委托设计模式,

2021-03-05 14:09:28 588 4

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除