工作来几乎所有的项目都用到了spring,却一直没有系统的读下源码,从头开始系统的读下吧,分章也不那么明确,读到哪里记到哪里,仅仅作为个笔记吧. 先看ClassPathXmlApplicationContext的类图 有人说:BeanFactory是Spring的心脏,ApplicationContext就是完整的躯体.ApplicationContext继承了BeanFactory,ResourceLoader提供了类的管理以及资源的加载,同时又继承了EnvironmentCapable,Me…
为什么要阅读源码?这是一个有趣的问题,类似的问题还有,为什么要看书?为什么要爬山? 这也是一个哲学问题,我想每个人都有不同的答案,下面我是对阅读源码好处的一些思考. (PS:也欢迎你在评论区留言补充) 阅读源码的好处 1.知其然知其所以然 这是一句 IT 人都很熟悉的话,在开源软件越来越多,并且升级越来越快的今天,如果说还有什么是重要的,那一定是知道它(开源软件)的核心原理和执行流程,这样就能为我们快速定位并修复问题提供宝贵的时间. 2.让自己变得更加优秀 学习源码可以让我们站在巨人的肩膀上,你…
一.spring的IOC控制反转:控制反转——Spring通过一种称作控制反转(IOC)的技术促进了松耦合.当应用了IOC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象.说白了就是原本需要手动去创建和管理的对象,现在交给容器了.在容器的基础上,实现对象的控制.这个方式也很好的减少了开发者在框架上面的时间,更多关注点在业务逻辑上面. 二.这表博客的主要目的是研究,bean容器的初始化,会在最基本的bean初始化作源码的解析和分析.如何存在不妥当的地方,还请…
上次说到ApplicationContext加载BeanDefinition时会创建一个XmlBeanDefinitionReader,将XML解析.BeanDefinition加载委托给XmlBeanDefinitionReader. 首先看下XmlBeanDefinitionReader的类图: 类图比较简单,其主要得属性读取,注册也是交由DefaultBeanDefinitionDocumentReader以及BeanDefinitionParserDelegate去处理. 来看下加载过程…
1.org.springframework.web.context.ContextLoaderListener 一个ServletContextListener,web容器启动监听器 1.1内有成员ContextLoader,当contextInitialized时,调用this.contextLoader.initWebApplicationContext(event.getServletContext()); 2.org.springframework.web.context.Context…
这次主要看了下bean的生成过程,发现个画时序图很好用的软件plantuml,充分发挥程序员的能力,能用代码解决的别叨叨别的…
http://www.cnblogs.com/xing901022/p/4178963.html#_label0 遇到第一个问题The processing instruction target matching "[xX][mM][lL]" is not allowed The processing instruction target matching "[xX][mM][lL]" is not allowed 出现这种问题一般是由于你的xml配置文件格式错误.…
spring ioc 容器的加载流程 1.目标:熟练使用spring,并分析其源码,了解其中的思想.这篇主要介绍spring ioc 容器的加载 2.前提条件:会使用debug 3.源码分析方法:Intellj idea debug 模式下源码追溯 通过ClassPathXmlApplicationContext 进行xml 件的读取,从每个堆栈中读取程序的运行信息 4.注意:由于Spring的类继承体系比较复杂,不能全部贴图,所以只将分析源码之后发现的最主要的类继承结构类图贴在下方. 5.关于…
本文转自五月的仓颉 https://www.cnblogs.com/xrq730 本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下Star哈 文章将同步到我的个人博客: www.how2playlife.com 本文是微信公众号[Java技术江湖]的<Spring和SpringMVC源码分析>其中一篇,本文部分内容来源于网络,为了把本文主题讲得…
读Spring源码之前,你要先清楚,为什么你要用Spring... Spring最基本的功能是做为管理bean的容器,所以我以为应该先从org.springframework.context包了解咯,包括org.springframework.web.context: 然后是org.springframework.beans org.springframework.aop 你看那个从core开始看就可以了 从ApplicationContext Spring中文手册是必须的-- 1.阅读源码的入…