【目录】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. 【mysql案例】mysql5.6.14配置my.cnf多实例,mysql_install_db初始化不读取my.cnf配置文件

    1.1.1. mysql5.6.14多实例my.cnf时,初始化不读取my.cnf配置文件 [环境描写叙述] 在多实例配置的/etc/my.cnf环境中,运行mysql_install_db后.启动M ...

  2. 实验吧之损坏的U盘

    1.首先用binwalk查看里面的内容,发现里面有Zip文件. 要想把Zip文件弄出来有两种方法: 一是用虚拟机里面的foremost+文件名 然而,在终端中已经见到二零password文件夹,然而我 ...

  3. 学习Apache的mod rewrite、access写法

    Apache的mod_rewrite是提供了强大URL操作的杀手级的模块,可以实现几乎所有你梦想的URL操作类型,其代价是你必须接受其复杂性,因为mod_rewrite的主要障碍就是初学者不容易理解和 ...

  4. Vue状态管理-Bus

    1.父子组件之间进行通讯: 父组件通过属性和子组件通讯,子组件通过事件和父组件通讯.vue2.x只允许单向数据传递. 先定义一个子组件AInput.vue: <template> < ...

  5. 我想写一个前端开发工具(一):在npm发布模块

    有必要说说我为什么要开始写这个,正文从下面的第一条开始 我最近忙于公司的项目,一直没有抽出时间来写文章.本来想每个月写一片文章,保质保量,无奈上个月没有坚持. 这段时间有点忙,主要是由于公司业务调整, ...

  6. deep learning学习记录一

    最近不小心又赶了一下时髦,在做deep learning.今天去听了复旦吴老师的课程,感觉吴老讲解的还是很清晰的. 上午刚看过cnn,下午讲解的就是这章,相对来说,我听着给了很多启发.

  7. Unity 游戏框架搭建 (十一) 简易AssetBundle打包工具(一)

    最近在看Unity官方的AssetBundle(以下简称AB)的教程,也照着做了一遍,不过做出来的AssetBundleManager的API设计得有些不太习惯.目前想到了一个可行的解决方案.AB相关 ...

  8. 对AFNetworking的二次封装

    HttpTool.h #import <Foundation/Foundation.h> #import <UIKit/UIKit.h> typedef void(^HttpS ...

  9. wsgiref手写一个web服务端

    ''' 通过wsgiref写一个web服务端先讲讲wsgiref吧,基于网络通信其根本就是基于socket,所以wsgiref同样也是通过对socket进行封装,避免写过多的代码,将一系列的操作封装成 ...

  10. Aaliyun Linux 64 安装jdk+mysql+tomcat

    参考: http://www.blogjava.net/amigoxie/archive/2013/02/22/395605.html http://bbs.aliyun.com/read/17704 ...