【目录】Spring 源码学习

jwfy 关注

2018.01.31 19:57* 字数 896 阅读 152评论 0喜欢 9

用来记录自己学习spring源码的一些心得和体会以及相关功能的实现原理,难免存在一些错误的情况,如果发现了,希望能够指出来~

spring版本 4.3.9.RELEASE

本文是学习spring源码的第一篇,主要讲的是,spring经过怎样的步骤完成xml文件的读取并生成相关的beandefinition信息

在上一篇的基础上,突出从xml的配置到具体beandefinition的操作细节,并且重点分析命名空间,顺便看了下dubbo类似的操作,发现他们的套路。

在深入学习命名空间发现了spring对外暴露的各种钩子,主要分析了比较常用的两种beanPostprocessor,如何使用和源码实现的过程。

getBean操作比较复杂,所以才分为两篇文章学习

从工厂bean和bean工厂的角度出发,了解spring是如何实例化的,最好是配合源码细细阅读,并且很多基于spring开发的产品都会使用bean工厂,例如mybatis

本文学习和了解了spring中常见的resource的工作原理,并结合现实中的配置习惯,引出了Apache Ant路径规则,spring是如何实现该规则的。
最后分析了FileSystemXmlApplicationContext和ClassPathXmlApplicationContext直接的差别,主要就是文件读取的协议不一致,在实际使用过程中需要清楚这些差别,否则会出现找不到配置文件的错误。

spring aop的实际用法以及xml配置和注解配置的原理学习和了解

spring mvc的学习,对Tomcat的基础了解,整个的运行过程是如何执行的,URL信息如何被管理,http请求分发到spring中如何被处理的

由一个注解无效引发的问题,学习和了解了新的Spring MVC URL处理细节(PS:可以优先学习此新的方法,老方式已经不被推荐使用)

Spring中的属性问题到底是如何被读取的,在bean中添加了@Value注解的字段是如何从属性文件获取到需要的字段数据

Spring中的事件通知是如何实现的,同步和异步事件通知的用法和实现细节以及Spring提供的常见的Event

介绍了事务的基本信息以及如何具体的使用事务,并分析少量源码发现各事务的本质情况。其次现在在真实的分布式系统中事务发挥的作用已经不是很大了,但并不妨碍学习事务

【目录】Spring 源码学习的更多相关文章

  1. Spring 源码学习笔记11——Spring事务

    Spring 源码学习笔记11--Spring事务 Spring事务是基于Spring Aop的扩展 AOP的知识参见<Spring 源码学习笔记10--Spring AOP> 图片参考了 ...

  2. Spring源码学习笔记12——总结篇,IOC,Bean的生命周期,三大扩展点

    Spring源码学习笔记12--总结篇,IOC,Bean的生命周期,三大扩展点 参考了Spring 官网文档 https://docs.spring.io/spring-framework/docs/ ...

  3. spring源码学习之路---深入AOP(终)

    作者:zuoxiaolong8810(左潇龙),转载请注明出处,特别说明:本博文来自博主原博客,为保证新博客中博文的完整性,特复制到此留存,如需转载请注明新博客地址即可. 上一章和各位一起看了一下sp ...

  4. spring源码学习之路---IOC初探(二)

    作者:zuoxiaolong8810(左潇龙),转载请注明出处,特别说明:本博文来自博主原博客,为保证新博客中博文的完整性,特复制到此留存,如需转载请注明新博客地址即可. 上一章当中我没有提及具体的搭 ...

  5. Spring源码学习

    Spring源码学习--ClassPathXmlApplicationContext(一) spring源码学习--FileSystemXmlApplicationContext(二) spring源 ...

  6. Spring源码学习-容器BeanFactory(四) BeanDefinition的创建-自定义标签的解析.md

    写在前面 上文Spring源码学习-容器BeanFactory(三) BeanDefinition的创建-解析Spring的默认标签对Spring默认标签的解析做了详解,在xml元素的解析中,Spri ...

  7. Spring源码学习-容器BeanFactory(三) BeanDefinition的创建-解析Spring的默认标签

    写在前面 上文Spring源码学习-容器BeanFactory(二) BeanDefinition的创建-解析前BeanDefinition的前置操作中Spring对XML解析后创建了对应的Docum ...

  8. Spring源码学习-容器BeanFactory(二) BeanDefinition的创建-解析前BeanDefinition的前置操作

    写在前面 上文 Spring源码学习-容器BeanFactory(一) BeanDefinition的创建-解析资源文件主要讲Spring容器创建时通过XmlBeanDefinitionReader读 ...

  9. Spring源码学习-容器BeanFactory(一) BeanDefinition的创建-解析资源文件

    写在前面 从大四实习至今已一年有余,作为一个程序员,一直没有用心去记录自己工作中遇到的问题,甚是惭愧,打算从今日起开始养成写博客的习惯.作为一名java开发人员,Spring是永远绕不过的话题,它的设 ...

随机推荐

  1. 管道(Pipelines)模型

    Pipeline模型最早被使用在Unix操作系统中.据称,假设说Unix是计算机文明中最伟大的发明,那么,Unix下的Pipe管道就是尾随Unix所带来的还有一个伟大的发明[1].我觉得管道的出现,所 ...

  2. 模拟栈的回溯,完全二叉树搜索,(ZOJ1004)

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1004 解题报告: ①方法:完全二叉树的搜索方式,回溯法. ②代码 ...

  3. intelli j中如何重启tomcat,或者关掉tomcat?每次点run都提示jmx端口占用

    方法1.idea有时候会这样,我一般都是直接打开任务管理器,把java进程给杀掉就好了.

  4. scr 和 href 区别

    HTML中的href和src有什么区别? 加载js的时候,用到的是<script style='text/javascript' src='js/demo.js'></script& ...

  5. 【洛谷P2470】[SCOI2007]压缩

    压缩 #include<iostream> #include<cstring> #include<cstdio> using namespace std; #def ...

  6. Java实现双向冒泡排序

    public class BubbleSort_Two { public static void bubbleSort_Two(int[] list){ //j在最外层定义 boolean needN ...

  7. Oracle-01-数据库分类/oracle sql*plus常用命令

    一.数据库分类 一.数据库分类1.小型数据库:access.foxbase2.中型数据库:informix.sql server.mysql3.大型数据库:sybase.db2.oracle 二.项目 ...

  8. 工具类(设置控件 frame) - iOS

    为了便于日常开发效率,因此创建了一些小的工具类便于使用. 具体 code 如下: 声明: #import <UIKit/UIKit.h> @interface UIView (Frame) ...

  9. 你不知道的javaScript笔记(1)

    规避冲突 function foo(){ function bar(a){ i = 3; console.log(a + i); } for ( var i=0; i < 10; i++){ b ...

  10. CentOS7 minimal 没有netstat命令

    在CentOS 7 minimal中使用netstat 时,发现显示如下,明显没有了netstat 命令 [root@localhost ~]# netstat -a -bash: netstat: ...