
Spring源码分析
文章平均质量分 96
感受spring源码之美
码农参上
这个作者很懒,什么都没留下…
展开
-
18张图,详解SpringBoot解析yml全流程
原创:微信公众号 码农参上,欢迎分享,转载请保留出处。前几天的时候,项目里有一个需求,需要一个开关控制代码中是否执行一段逻辑,于是理所当然的在yml文件中配置了一个属性作为开关,再配合nacos就可以随时改变这个值达到我们的目的,yml文件中是这样写的:switch: turnOn: on程序中的代码也很简单,大致的逻辑就是下面这样,如果取到的开关字段是on的话,那么就执行if判断中的代码,否则就不执行:@Value("${switch.turnOn}")private String o.原创 2022-01-14 11:18:44 · 1117 阅读 · 0 评论 -
Spring循环依赖源码解析
上篇文章中我们分析完了Spring中Bean的实例化过程,但是没有对循环依赖的问题进行分析,这篇文章中我们来看一下spring是如何解决循环依赖的实现。之前在讲spring的过程中,我们提到了一个spring的单例池singletonObjects,用于存放创建好的bean,也提到过这个Map也可以说是狭义上的spring容器。private final Map<String, Object> singletonObjects = new ConcurrentHashMap<St原创 2020-07-07 09:06:33 · 4650 阅读 · 0 评论 -
Spring实例化Bean源码解析
在上一篇文章中,我们说完了Spring环境初始化的过程,接下来讲一下Bean的实例化过程。这篇文章中,暂时不对Bean循环依赖的情况进行分析,因为比较复杂,会放在后面单独的文章中进行分析。接着从上篇文章中没有讲完的AnnotationConfigApplicationContext类的refresh方法开始分析,从下面这条语句开始:// Instantiate all remaining (non-lazy-init) singletons.finishBeanFactoryInitializa原创 2020-06-28 09:16:55 · 1065 阅读 · 0 评论 -
Spring容器初始化源码解析
Spring框架被广泛应用于我们的日常工作中,但是很长时间以来我们都是只会使用,不懂它的作用原理。通过最近一段时间的阅读源码,个人发现通过阅读源码,能够帮助我们了解Spring的设计理念,并且对Java编程中的一些设计模式更加熟悉,所以记录一下自己对Spring源码的理解。在开始进行源码学习前,首先再回顾一下三种Spring编程风格:1、基于Schemal,即通过xml标签的配置方式2、基于Annotation的注解技术,使用@Component等注解配置bean3、基于Java Confi原创 2020-06-24 09:22:04 · 798 阅读 · 0 评论