spring
文章平均质量分 74
北巷以南猫
https://github.com/huxiaoman7/leetcodebook
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
AOP源码分析(一)挑选bean的合适的通知器
一、AOP的入口: AnnotationAwareAspectJAutoProxyCreator类是AOP的核心类。首先可以看看实现的接口和继承的父类。原创 2018-12-08 14:59:50 · 151 阅读 · 0 评论 -
Spring源码解析之加载bean实例(1)
Spring的整个流程主要分为两个阶段:容器初始化阶段和加载bean阶段。 容器初始化阶段:首先通过加载Configuration,然后容器会对加载的Configuration进行解析和分析,并将分析的信息组装成BeanDefinition对象,并将其保存注册到相应的BeanDefinitionRegistry中。至此是SpringIOC的初始化过程。 加载bean的阶...原创 2018-12-12 21:24:39 · 721 阅读 · 0 评论 -
Spring源码解析之从单例缓存中获取单例bean(2)
代码分析入口: Object sharedInstance = getSingleton(beanName); if (sharedInstance != null && args == null) { if (logger.isDebugEnabled()) { if (isSingletonCurrentlyInCreation(beanN...原创 2018-12-12 22:54:20 · 278 阅读 · 0 评论 -
Spring源码解析之从处理依赖depends-on(3)
这篇文章分析的代码:if (isPrototypeCurrentlyInCreation(beanName)) { throw new BeanCurrentlyInCreationException(beanName); } // Check if bean definition exists in this...原创 2018-12-13 21:56:24 · 2780 阅读 · 2 评论 -
Spring源码解析之分析各 scope的bean创建(4)
在 Spring 中存在着不同的 scope,默认是 singleton,还有prototype等。下面便分析各个scope。1.singleton。if (mbd.isSingleton()) { sharedInstance = getSingleton(beanName, () -> { try { return createB...原创 2018-12-14 13:38:41 · 628 阅读 · 0 评论 -
Spring源码解析之加载bean
一、初始化阶段ClassPathResource res = new ClassPathResource("spring/spring.xml");//获取创建bean的beanFactoryDefaultListableBeanFactory factory = new DefaultListableBeanFactory();//创建Reader对象,用来解析resXmlBean...原创 2018-12-11 17:22:08 · 977 阅读 · 0 评论 -
Spring源码解析之循环依赖处理(5)
什么是循环依赖? 循环依赖其实就是两个或者两个以上的bean,互相引用对方,形成闭环,如A--->B,B--->C,C--->A。这样的依赖就是循环依赖。而循环依赖在正常的情况下就是一个死循环,A的初始化为引起B的初始化,B的初始化会触发C的初始化,而C的初始化会触发A的初始化,死循环了。 Spring的循环依赖有两种:构造器的循环依赖 属性的循环依赖 ...原创 2018-12-17 22:07:45 · 433 阅读 · 0 评论
分享