
Spring源码
文章平均质量分 50
前路有星辰
这个作者很懒,什么都没留下…
展开
-
Spring的createBean()流程源码解析(持续更新中)
承接上篇的getSingleton()方法,缓存中不存在对应bean的实例,开始创建对象createBean方法开始创建对象protected Object createBean(String beanName, RootBeanDefinition mbd, @Nullable Object[] args) throws BeanCreationException { if (logger.isDebugEnabled()) { logger.debug("Creating instan原创 2021-06-09 17:21:59 · 1238 阅读 · 0 评论 -
Spring的getBean()流程源码解析
承接上篇Spring的bean加载流程,这里开始分析Spring的getBean(beanName)方法,该方法会触发容器对Bean实例化和依赖注入过程://调用抽象类AbstractBeanFactory的getBean()方法public Object getBean(String name) throws BeansException { //doGetBean才是真正向IoC容器获取被管理Bean的过程 return doGetBean(name, null, null, false)原创 2021-06-08 13:12:43 · 1600 阅读 · 0 评论 -
Spring的bean加载流程源码分析
创建Spring容器,并设置配置文件路径,这段代码实现了什么功能?ApplicationContext ac = new ClassPathXmlApplicationContext("application-context.xml");点击进入ClassPathXmlApplicationContext内部://这里是ClassPathXmlApplicationContext的构造函数public ClassPathXmlApplicationContext(String configLoca原创 2021-06-04 13:04:04 · 1218 阅读 · 0 评论 -
Spring的初始化和对象创建流程
Spring容器的初始化和对象创建流程(代码方面):如图:1.Spring容器初始化流程:文字说明:在ClassPathXmlApplicationContext的构造函数中:super(parent);//调用父级的构造方法,构造父类对象和初始化相关属性,供子类使用。setConfigLocations(configLocations);该方法会对资源路径实现相关处理:比如,若资源路径中含有Spring-${username}.xml,资源占位符时,该方法就会对资源路径实现替换和赋值操作原创 2021-05-21 18:34:51 · 2175 阅读 · 0 评论 -
Spring初始化和创建对象概念流程
Spring初始化和创建对象流程大致流程概念图:文字说明:Spring项目启动后,首先创建Spring容器,然后加载xml等配置文件、解析,将读取到的内容存放到BeanDefinition(bean的定义信息中);Spring容器在完成相关初始化和配置后,开始从Spirng容器中获取beanDefinitionNames(bean定义信息的名称集合),然后遍历beanName,去调用getBean()方法,触发容器对Bean实例化和依赖注入过程。在Spring中,实例化和初始化是分离的, 实例原创 2021-05-20 18:34:55 · 1412 阅读 · 0 评论 -
Spring源码乱码问题--已解决
解决Spirng源码启动出现乱码问题问题描述:如图:1.在源码中添加中文注释,启动出现如下问题2.在打印数据时出现中文解决方法:原创 2021-05-11 13:04:40 · 3333 阅读 · 3 评论