![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Spring源码
文章平均质量分 95
墨枢Mosul
天地辽阔,我要独占一方;世间千言,我亦自成一家。如此,也不负儿时轻狂!
展开
-
Spring循环依赖源码分析
说到Spring的循环依赖,我们常会提起过三级缓存,那三级缓存究竟是什么?又有什么作用?Spring是怎么实现循环依赖的?带着这些问题,我们一起来开启这篇文章。原创 2023-10-24 18:11:07 · 256 阅读 · 0 评论 -
Spring动态代理源码分析
说到Spring的核心功能,Spring AOP是始终绕不过去的一个点。而说到Spring AOP,开发中我们经常会用到这个功能,比如:日志记录、权限校验、事务管理等。我们也大概知道它基于动态代理实现的,那除了Spring AOP,Spring还有哪些地方使用到了动态代理?Spring中的动态代理又是如何实现的?让我们跟着这篇文章来一探究竟。原创 2023-10-20 19:13:23 · 385 阅读 · 0 评论 -
Spring核心扩展点BeanDefinitionRegistryPostProcessor源码分析
我们知道,只要在一个Java类上加上@Component、@Service、@Controller等注解,就可以被加载到Spring容器中,除了以上方式,加了@Bean和@Import好像也可以将对象添加到Spring容器中,究竟Spring是如何实现这些功能的呢?让我们一起来一探究竟。原创 2023-10-17 13:18:07 · 669 阅读 · 0 评论 -
Spring推断构造器源码分析
Spring中bean虽然可以通过多种方式(Supplier接口、FactoryMethod、构造器)创建bean的实例对象,但是使用最多的还是通过构造器创建对象实例,也是我们最熟悉的创建对象的方式。如果有多个构造器时,那Spring是如何推断使用哪个构造器来创建bean对象实例的?原创 2023-10-13 18:50:33 · 412 阅读 · 0 评论 -
Spring自动装配源码分析
Spring中的自动装配确实帮我们简化了一些属性的配置,但是对于简单类型,如String、int等基本数据类型,是无法使用自动装配的。同时在存在多个存在歧义的对象时,自动装配也会返回不确定的结果,甚至会抛出异常。日常开发中,我们更多的是使用@Autowired注解(或@Resource注解)进行依赖注入,这种方式即实现了自动装配的灵活性,也兼顾了手动装配的可预知性。原创 2023-10-13 13:31:05 · 288 阅读 · 0 评论 -
记一次Spring源码分析(01.准备工作及java知识补充)
关于Spring我就不再多介绍了,本文主要介绍Spring源码阅读的准备工作。说到spring框架,我们都知道是其基于反射和动态代理实现的。那我们就来看看反射和动态代理……1.源码获取及编译 直接从GitHub获取,我就不再其他描述了。2.Spring流程图 Spring的本质是一个bean对象的容器,里面存放了bean对象。那容器最核心的是:存储、获取(查询)、生命周期等,例如我们java中Map,put()存储元素,get()获取元素。那.原创 2021-03-27 23:39:03 · 218 阅读 · 0 评论