![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
源码解析
EidosMephiste
这个作者很懒,什么都没留下…
展开
-
Spring源码解析-IOC控制反转(六)创建Bean核心doCreateBean()
特别声明: 以下内容均为个人研究学习,如有错误,请大牛提出指正。接上篇《Spring源码解析-IOC控制反转(五)getBean,createBean》上篇讲到创建Bean核心doCreateBean// AbstractAutowireCapableBeanFactory 548protected Object doCreateBean(final String beanName, final RootBeanDefinition mbd, final @Nullable Object[] arg原创 2020-06-09 15:08:01 · 201 阅读 · 0 评论 -
Spring源码解析-IOC控制反转(五)getBean,createBean
特别声明: 以下内容均为个人研究学习,如有错误,请大牛提出指正。接上篇《Spring源码解析-IOC控制反转(四)准备Bean容器,初始化非懒加载的Singletons》// AbstractBeanFactory 201public Object getBean(String name) throws BeansException { return doGetBean(name, null, null, false);}// AbstractBeanFactory 242prote原创 2020-06-09 14:55:47 · 190 阅读 · 0 评论 -
Spring源码解析-IOC控制反转(四)准备Bean容器,初始化非懒加载的Singletons
特别声明: 以下内容均为个人研究学习,如有错误,请大牛提出指正。接上篇《Spring源码解析-IOC控制反转(三)生成BeanDefinitionHolder,注册Bean》上篇讲到将beanName和BeanDefinition 一对一放到BeanDefinitionMap中, 这个Map就是注册中心的核心。我们再回到refresh()方法中public void refresh() throws BeansException, IllegalStateException { synchr原创 2020-06-09 11:27:52 · 95 阅读 · 0 评论 -
Spring源码解析-IOC控制反转(三)生成BeanDefinitionHolder,注册Bean
接上篇《Spring源码解析-IOC控制反转(二)操作dom树,取得标签数据》上篇说到从dom树中取得Bean标签数据生成BeanDefinitionHolder,开始注册Bean// BeanDefinitionReaderUtils 160public static void registerBeanDefinition( BeanDefinitionHolder definitionHolder, BeanDefinitionRegistry registry) thro原创 2020-06-08 16:47:39 · 228 阅读 · 0 评论 -
Spring源码解析-IOC控制反转(二)操作dom树,取得标签数据
接上篇《Spring源码解析-IOC控制反转(一)prepareRefresh,将resource转换成dom树》上篇讲到将每个文件转换成一个resource,再将resource转换dom树接下来就是操作dom树,获取标签数据。// XmlBeanDefinitionReader 511public int registerBeanDefinitions(Document doc, Resource resource) throws BeanDefinitionStoreException {原创 2020-06-08 16:12:14 · 161 阅读 · 0 评论 -
Spring源码解析-IOC控制反转(一)prepareRefresh,将resource转换成dom树
创建一个测试类,来解析整个流程import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;public class Test { public static void main(String[] args) { // 用我们的配置文件来启动一个 ApplicationContext原创 2020-06-08 14:15:15 · 147 阅读 · 0 评论