![](https://img-blog.csdnimg.cn/96c41802b12841b4aadc938d6ce00d10.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Spring
文章平均质量分 79
专注于spring的应用和源码分析
程序员田同学
一个专职程序员兼业余互联网写手
展开
-
AOP详解之三-创建AOP代理后记,创建AOP代理
AOP详解之三-创建AOP代理后记,创建AOP代理。上篇文章已经获取到了AOP的信息,接下来就是拿着这些AOP的信息去创建代理了。首先我们看下创建AOP代理的入口处。//这个方法将返回代理类 protected Object wrapIfNecessary(Object bean, String beanName, Object cacheKey) { // 1.判断当前bean是否在targetSourcedBeans缓存中存在(已经处理过),如果存在,则直接返回当前bean if (St原创 2022-03-24 10:15:22 · 842 阅读 · 0 评论 -
AOP源码解析之二-创建AOP代理前传,获取AOP信息
AOP源码解析之二-创建AOP代理前传,获取AOP信息。上篇文章对AOP的基本概念说清楚了,那么接下来的AOP还剩下两个大的步骤获取定义的AOP信息,生成代理对象扔到beanFactory中。本篇文章重点对前半部分,如何获取到AOP信息的过程解读。在Spring的核心方法Refresh方法中,aop是在Object bean = resolveBeforeInstantiation(beanName, mbdToUse);开始切入的,该文章就开始深入这个方法进行解析。@Nullable pr原创 2022-03-21 14:40:36 · 654 阅读 · 0 评论 -
AOP详解之一基本概念
AOP详解之一基本概念什么是AOPAOP 即 Aspect Oriented Programming,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP 是 OOP 的延续,是软件开发中的一个热点,也是 Spring 框架中的一个重要内容,是函数式编程的一种衍生范型。利用 AOP 可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。说人话:要在我们的功能中加一些功能,而不直接修改修改源代码的前提原创 2022-03-17 11:23:55 · 1025 阅读 · 0 评论 -
Spring源码之九finishRefresh详解
Spring IoC 的核心内容要收尾了,本文将对最后一个方法 finishRefresh 进行介绍,位于refresh 方法中的第九个位置。本章实际是对发布订阅模式的一种补充,这是Spring在刷新事件完成后发布事件。原创 2022-03-11 16:54:46 · 397 阅读 · 0 评论 -
Spring源码解析之八finishBeanFactoryInitialization方法即初始化单例bean
Spring源码解析之八finishBeanFactoryInitialization方法即初始化单例bean七千字长文深刻解读,Spirng中是如何初始化单例bean的,和面试中最常问的Spring是如何解决循环依赖?今天解读Spring核心方法refresh()中最最重要的一个方法finishBeanFactoryInitialization()方法,该方法负责初始化所有的单例bean。finishBeanFactoryInitialization()方法位于refresh()中下标为8的位置。原创 2022-03-09 11:02:31 · 1086 阅读 · 1 评论 -
Spring源码之七registerListeners()及发布订阅模式
Spring源码之七registerListeners()及发布订阅模式大家好,我是程序员田同学。今天带大家解读refresh()方法中的registerListeners()方法,也就是我们经常说的Spring的发布-订阅模式。文章首先举一个发布-订阅模式的样例,然后讲解了发布-订阅四个模式的原理,及对发布-订阅模式所依赖的观察者模式进行了举例,最后引出该模式在Springboot中的大量应用。照例放一份refresh()方法的源码,registerListeners()方法位于该方法的第七个位置。原创 2022-03-07 15:25:19 · 642 阅读 · 2 评论 -
Spring源码之六-onRefresh()方法
今天带大家解读Spirng源码之六的onRefresh()方法,这是refresh()的其中的一个方法,看似是一个空方法,实则他是非常非常重要的,对于提高Spring的扩展性。原创 2022-03-04 10:23:02 · 1633 阅读 · 0 评论 -
Spring源码之BeanFactoryPostProcessor(后置处理器)
Spring源码之BeanFactoryPostProcessor(后置处理器)。有点水平的Spring开发人员想必都知道BeanFactoryPostProcessor也就是常说的后置管理器,这是Spirng生命周期中的一个接口,实现这个接口可以在beanFactory初始化前做一些事。我们熟知的Spring和Mybatis的结合,正是因为Mybatis实现了BeanFactoryPostProcessor,它的重要性不言而喻,深入理解他对于切入Mybatis源码有着深刻的意义。如下图是简单的应用:原创 2022-03-01 11:02:42 · 385 阅读 · 0 评论 -
Spring源码之四prepareBeanFactory()方法
今天带大家解读refresh()方法的第三个方法prepareBeanFactory(),通过对refresh()的一步步解读,想必有一天小伙伴们能揭开Spring的神秘面纱。原创 2022-01-19 10:22:23 · 877 阅读 · 0 评论 -
spring之一源码环境构建
作为一名,不想只成为增删改查的boy而言,阅读spirng源码就是面前的一座大山,阅读源码,首先要从构建源码开始,要不然是不能加注释的。原创 2022-01-13 11:57:53 · 383 阅读 · 0 评论 -
spring源码之三obtainFreshBeanFactory()方法
上篇文章对spring核心启动方法refresh做了整体的解读,但是只是泛泛而谈,接下来会出一系统文章对每个方法的源码进行深刻解读。原创 2022-01-10 11:32:03 · 436 阅读 · 0 评论 -
spring源码之二refresh()方法概览
spring源码的最易理解的解读,spirng源码的泛读,对spring有一个心中有数原创 2021-12-27 12:02:23 · 680 阅读 · 0 评论