![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Spring源码学习
网上学习别人的博客,供参考,都是学习别人的
转身已离去
毕业于江南大学,目前工作4年,主要从事于大数据开发和Java服务开发
展开
-
Spring源码-Spring中循环依赖
Spring源码中的3个缓存map/** Cache of singleton objects: bean name to bean instance. *//** singletonObjects 一级缓存,可以理解为spring单利池 存放完整的bean*/private final Map<String, Object> singletonObjects = new ConcurrentHashMap<>(256);/** Cache of singleton f转载 2020-07-16 10:36:28 · 249 阅读 · 0 评论 -
1.1 Spring源码解析——核心类介绍
1.DefaultListableBeanFactoryXmlBeanFactory继承自DefaultListableBeanFactory,而DefaultListableBeanFactory是整个bean加载的核心部分,是Spring注册及加载bean的默认实现,而对于XmlBeanFactory与DefaultListableBeanFactory不同的地方就是XmlBeanFact...转载 2020-04-20 14:32:38 · 108 阅读 · 0 评论 -
Spring源码解析——refresh方法
refresh方法在ConfigurableApplicationContext类中定义的具体实现是在AbstractApplicationContext中实现。这个方法的原文描述信息是:由于这是一个启动方法,如果它调用失败,它应该销毁已创建的单例,以避免悬空资源。换句话说,在调用该方法之后,应该实例化所有单例或者不是单例的对象。接下来分析refresh方法public void ref...转载 2020-04-10 09:20:17 · 419 阅读 · 0 评论 -
Spring源码解析——ApplicationContext介绍
相比于BeanFactory接口,我们更多时候使用ApplicationContext接口来加载Bean,两个接口都是来加载Bean的,相比之下ApplicationContext提供了更多扩展功能。使用ApplicationContext方式加载XMLApplicationContext ctx = new ClassPathXmlApplicationContext("app.xml")...转载 2020-04-09 16:24:09 · 132 阅读 · 0 评论 -
Spring源码解析——createBean方法细节之doCreateBean
doCreateBean方法位于AbstractAutowireCapableBeanFactory方法中protected Object doCreateBean(final String beanName, final RootBeanDefinition mbd, final Object[] args) { // Instantiate the bean. ...转载 2020-04-09 09:47:37 · 499 阅读 · 0 评论 -
Spring源码学习-getBean方法
getBean方法在BeanFactory中实现,实现的类有5个在这5个类中AbstractBeanFactory完成了getBean()方法的具体实现public Object getBean(String name) throws BeansException { return doGetBean(name, null, null, false);}public <...转载 2020-04-08 15:26:41 · 403 阅读 · 0 评论 -
Spring Bean的生命周期
1. 概要2. 生命周期的概要流程Bean的生命周期主要就是4哥阶段:实例化(Instantiation) 属性赋值(Populate) 初始化(Initialization) 销毁(Destruction)详解:实例化:第1步,实例化一个bean对象; 属性赋值:第2步,为bean设置相关属性和依赖 初始化:第3-7部,其中第5,6步为初始化操作,第3,4步为在初...转载 2020-04-07 11:20:01 · 111 阅读 · 0 评论