摘要: 1 前言 上一篇我们讲解了XML方式解析AOP的配置,这篇我们来解析下注解方式的解析过程。 2 代码准备 @Component @Aspect public class MyAspect { @Pointcut("execution( * com.virtuous.demo.spring.cycle 阅读全文
posted @ 2023-02-20 07:36 酷酷- 阅读(200) 评论(0) 推荐(0)
摘要: 1 前言 IOC的一些东西我们说过了,这篇我们开始看看AOP,面向切面编程,他也是Spring的一个核心功能,他的作用就是给我们的Bean创建代理对象,进行功能增强,比如我们的事务、日志等,我们主要讲讲他AOP的切入时机,也就是什么时候进场的,以及是怎么解析我们的注解或者在XML里配置的AOP功能, 阅读全文
posted @ 2023-02-19 22:58 酷酷- 阅读(98) 评论(0) 推荐(0)
摘要: 1 前言 这篇我们看一下,我们的AOP代码是怎么被Spring加载的进去的,那么分两种一种是XML配置的,一种就是我们常用的注解,我们从源码先看下XML方式的都是怎么被加载解析的。 2 代码准备 <context:component-scan base-package="com.virtuous.d 阅读全文
posted @ 2023-02-19 21:29 酷酷- 阅读(139) 评论(0) 推荐(0)
摘要: 1 前言 @PostConstruct、@PreDestory这两个注解大家应该有用过吧,我们这篇分析一下主要是PostConstruct这个注解的解析时机和执行时机。 2 源码分析 2.1 解析时机-doCreateBean的applyMergedBeanDefinitionPostProcess 阅读全文
posted @ 2023-02-18 23:37 酷酷- 阅读(202) 评论(0) 推荐(0)
摘要: 1 前言 我们的bean经过的应该就剩下initializeBean这个方法,这个方法对上一步的populateBean属性填充完,做最后的剩余工作,这个里边的东西相比之前几个那可真是让人看着开心加愉快了,我们来看。 2 源码分析 2.1 方法通读 看一下 initializeBean 方法的源码: 阅读全文
posted @ 2023-02-18 22:38 酷酷- 阅读(86) 评论(0) 推荐(0)
摘要: 1 前言 好了,我们这篇文章讲解下populateBean,也就是bean的属性填充,并不仅仅是设置值,还有很多事情要做的。比如你的属性值类型转换、表达式解析等,关于属性填充的一些知识,本章先介绍这里。接下来,我们深入到源码中,从源码中了解属性填充的整个过程。 2 源码分析 2.1 populate 阅读全文
posted @ 2023-02-18 19:03 酷酷- 阅读(530) 评论(0) 推荐(0)
摘要: 1 前言 获取Bean我们大概都了解过了,这篇我们着重讲一下在获取bean的时候,出现的一个循环依赖的问题,这面试可以说是一道必问的题了,看的时候多想多看,别钻死牛角尖,我看的时候我陷入了一个牛角尖,我就在纠结为什么要用三个缓存来解决循环依赖呢,其实一个缓存也可以解决丫,干嘛要用三个呢。我总是陷入这 阅读全文
posted @ 2023-02-16 23:38 酷酷- 阅读(82) 评论(0) 推荐(1)
摘要: 1 前言 上一文,我们讲解了getBean里的一些过程,这节我们详细来讲一讲创建bean,也就是createBean。createBean默认的实现类是AbstractAutowireCapableBeanFactory,createBean会调用doCreateBean和createBeanIns 阅读全文
posted @ 2023-02-16 08:18 酷酷- 阅读(115) 评论(0) 推荐(1)
摘要: 1 前言 在本篇文章中,我们将会详细分析BeanFactory的getBean(String)方法实现细节及所调用的方法。 2 源码分析 首先我们先通读一下doGetBean方法,了解里边重点的几个步骤,然后我们再分析每个步骤里边具体都做了什么。 2.1 方法通读 方法的注释都写在里边了,涉及的东西 阅读全文
posted @ 2023-02-15 15:16 酷酷- 阅读(146) 评论(0) 推荐(1)
摘要: 1 前言 IDEA拉Spring源码,源码是Gradle管理依赖的,但是报错Unable to find method 'org.gradle.api.artifacts.result.ComponentSelectionReas 我的IDEA有2019、2021的 2 解决办法 用IDEA2021 阅读全文
posted @ 2023-02-15 08:14 酷酷- 阅读(850) 评论(0) 推荐(0)