摘要: 1 前言 本节我们讲一下动态代理的实现过程,并且从源码分析下产生过程。看之前先简单看几个基础知识: 函数接口BiFunction<T, U, R> : R apply(T t, U u); 就是参数是T、U返回一个结果R 比如: (s1, s2) -> s1.toString() + s2.toSt 阅读全文
posted @ 2023-02-20 19:06 酷酷- 阅读(43) 评论(0) 推荐(0) 编辑
摘要: 1 什么是代理 代理是指给某一个对象提供一个代理对象,代理对象持有原对象的引用。一句话通过代理对象增强原对象的功能,比如在原对象调用一个方法的前后进行日志、事务操作等。Spring AOP就使用了代理模式。 2 代理的分类 代理又分为静态代理和动态代理,所谓静动站在我们自己来说就是静态需要我们自己去 阅读全文
posted @ 2023-02-20 16:51 酷酷- 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 1 前言 我们了解过AOP配置解析以及AOP的切入时机,那么这篇我们看看,AOP是如何给某个Bean筛选合适的通知器。 2 源码分析 2.1 方法通读 我们从AOP切入时机中,为当前bean筛选通知器开始继续看起: protected Object[] getAdvicesAndAdvisorsFo 阅读全文
posted @ 2023-02-20 07:55 酷酷- 阅读(68) 评论(0) 推荐(0) 编辑
摘要: 1 前言 我们分析了AOP不管是XML配置还是注解方式的解析过程,这篇我们简单来说下AOP在Spring中对bean对象生命周期的一个入场时机,其实我们在讲解IOC的时候,已经点了一下这篇我们再来简单说一下。 2 源码分析 切入时机准确的说有两个地方: createBean里的resolveBefo 阅读全文
posted @ 2023-02-20 07:51 酷酷- 阅读(288) 评论(0) 推荐(0) 编辑
摘要: 1 前言 上一篇我们讲解了XML方式解析AOP的配置,这篇我们来解析下注解方式的解析过程。 2 代码准备 @Component @Aspect public class MyAspect { @Pointcut("execution( * com.virtuous.demo.spring.cycle 阅读全文
posted @ 2023-02-20 07:36 酷酷- 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 1 前言 IOC的一些东西我们说过了,这篇我们开始看看AOP,面向切面编程,他也是Spring的一个核心功能,他的作用就是给我们的Bean创建代理对象,进行功能增强,比如我们的事务、日志等,我们主要讲讲他AOP的切入时机,也就是什么时候进场的,以及是怎么解析我们的注解或者在XML里配置的AOP功能, 阅读全文
posted @ 2023-02-19 22:58 酷酷- 阅读(49) 评论(0) 推荐(0) 编辑
摘要: 1 前言 这篇我们看一下,我们的AOP代码是怎么被Spring加载的进去的,那么分两种一种是XML配置的,一种就是我们常用的注解,我们从源码先看下XML方式的都是怎么被加载解析的。 2 代码准备 <context:component-scan base-package="com.virtuous.d 阅读全文
posted @ 2023-02-19 21:29 酷酷- 阅读(89) 评论(0) 推荐(0) 编辑
摘要: 1 前言 @PostConstruct、@PreDestory这两个注解大家应该有用过吧,我们这篇分析一下主要是PostConstruct这个注解的解析时机和执行时机。 2 源码分析 2.1 解析时机-doCreateBean的applyMergedBeanDefinitionPostProcess 阅读全文
posted @ 2023-02-18 23:37 酷酷- 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 1 前言 我们的bean经过的应该就剩下initializeBean这个方法,这个方法对上一步的populateBean属性填充完,做最后的剩余工作,这个里边的东西相比之前几个那可真是让人看着开心加愉快了,我们来看。 2 源码分析 2.1 方法通读 看一下 initializeBean 方法的源码: 阅读全文
posted @ 2023-02-18 22:38 酷酷- 阅读(44) 评论(0) 推荐(0) 编辑
摘要: 1 前言 好了,我们这篇文章讲解下populateBean,也就是bean的属性填充,并不仅仅是设置值,还有很多事情要做的。比如你的属性值类型转换、表达式解析等,关于属性填充的一些知识,本章先介绍这里。接下来,我们深入到源码中,从源码中了解属性填充的整个过程。 2 源码分析 2.1 populate 阅读全文
posted @ 2023-02-18 19:03 酷酷- 阅读(153) 评论(0) 推荐(0) 编辑