源码辅助阅读:https://github.com/tripleDemo/spring.github.io spring 技术概述 分层 一站式 java ee full-stack 轻量级框架 三层: 1:数据访问层(持久层):主要是对数据库的操作,而不是数据,具体为业务逻辑层或表示层提供数据服务 ...
分类:
编程语言 时间:
2019-05-01 01:17:53
阅读次数:
163
前言:在经过前面十二篇文章的分析,对bean的加载流程大致梳理清楚了。因为内容过多,因此需要进行一个小总结。 经过前面十二篇文章的漫长分析,终于将xml配置文件中的bean,转换成我们实际所需要的真正的bean对象。 总结 【spring源码分析】IOC容器初始化(一):主要分析了Spring是如何 ...
分类:
编程语言 时间:
2019-04-29 18:59:53
阅读次数:
169
前言:在doCreateBean方法中还遗留一个问题没有分析:循环依赖。循环依赖在Spring中是非常重要的一个知识点,因此单独进行分析。 什么是循环依赖 循环依赖就是循环引用,两个或两个以上的bean互相引用对方,最终形成一个闭环。如A依赖B,B依赖C,C依赖A。如下图所示: 循环依赖其实就是一个 ...
分类:
编程语言 时间:
2019-04-29 15:58:17
阅读次数:
151
前言:在上文bean加载过程中还要一个非常重要的方法没有分析createBean,该方法非常重要,因此特意提出来单独分析。 createBean方法定义在AbstractBeanFactory中: 该方法根据给定的beanName、BeanDefinition和args实例化一个bean对象。所有b ...
分类:
编程语言 时间:
2019-04-23 20:59:21
阅读次数:
174
前言:经过前几篇文章的讲解,我们已经得到了BeanDefinition,接下来将分析Bean的加载。 获取Bean的入口:AbstractApplicationContext#getBean 分析:首先检查BeanFactory是否存活,还记得之前分析过的prepareRefresh()方法吗?如果 ...
分类:
编程语言 时间:
2019-04-22 16:40:57
阅读次数:
126
如何查看源码 Spring源码下载https://github.com/spring-projects/spring-framework/tags?after=v3.1.0.RC1 eclipse关联源码 自己百度吧 源代码结构组织 Build-spring-framework是整个Spring源代 ...
分类:
编程语言 时间:
2019-04-14 21:53:22
阅读次数:
173
DispatcherServlet继承 FrameworkServlet继承 HttpServletBean HttpServletBean中的重要的方法init FrameworkServlet中的重要的方法initWebApplicationContext DispatcherServlet中的 ...
分类:
编程语言 时间:
2019-04-11 01:41:57
阅读次数:
151
写在前面 上面四篇文章讲了Spring是如何将配置文件一步一步转化为BeanDefinition的整个流程,下面就到了正式创建Bean对象实例的环节了,我们一起继续学习吧。 2.初始化Bean对象实例 仍然使用我们最开的一串代码来讲解,前四章我们说了那么多其实只是创建了BeanFactory这个容器 ...
分类:
编程语言 时间:
2019-04-05 22:43:46
阅读次数:
198
写在前面的话: 学无止境,写博客纯粹是一种乐趣而已,把自己理解的东西分享出去,不意味全是对的,欢迎指正! Spring 容器初始化过程做了什么? Spring 容器初始化过程做了什么? 实例了一个 AnnotationConfigApplicationContext对象,Spring中出来注解Bea ...
分类:
编程语言 时间:
2019-03-31 22:08:03
阅读次数:
233
FreeMarker是一款模板引擎:即一种基于模板和要改变的数据,并用来生成输出文本(HTML网页、电子邮件、配置文件、源代码等)的通用工具。它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。 FreeMarker是免费的,基于Apache许可证2.0版本发布。其模板编写为FreeMarkerTemplateLanguage(FTL),属于简单、专用的语言。需
分类:
编程语言 时间:
2019-03-26 09:24:15
阅读次数:
153