spring源码:学习线索(li)
一、spring xml配置(不包括AOP,主要了解在初始化及实例化过程中spring配置文件中每项内容的具体实现过程,从根本上掌握spring)
- <bean>的名字 &,alias,id(名称的转换,绑定)
- 属性及构造函数参数注入 (注入过程,类型转换)
- 依赖解析 (显示依赖和自动依赖解析 depends-on,autowire,dependency-check)
- 继承(extends)
- 作用域(singleton,prototype,session等,不同作用域的bean的具体实例化过程)
- 工厂方法与 FactoryBean
- 方法替换(lookup)
- init-memthod destroy-method初始化方法和销毁方法
- spring中BeanFactory相关的特殊bean
- Aware接口系列:BeanFacotryAware;BeanNameAware;BeanClassLoaderAware
二、BeanFactory容器后置处理接口(BeanFactoryPostProcessor)
- PropertyPlaceholderConfigurer;PropertyOverrideConfigurer;CustomEditorConfigurer;CustomScopeConfigurer
- Bean后置处理接口(BeanPostProcessor)InstantiationAwareBeanPostProcessor;DestructionAwareBeanPo;stProcessor;SmartInstantiationAwareBeanPostProcessor
- InitializingBean
- DisposableBean
- ApplicationContext对Spring中BeanFactory的功能扩展
- 统一资源加载(资源的封装与加载)
- 国际化信息支持(MessageSource)
- 容器内部事件
三、基于注解的依赖注入
四、aop部分
- aop中基础接口及类结构关系 (Pointcut,Advice,Aspect)
- ProxyFactoryBean,AopProxyFactory类结构及实现,及AOP与IOC容器的无缝接入
- 自动代理的实现
- 基于AspectJ的AOP
- 基于schema的AOP
五、spring数据库访问支持
- spring统一数据库访问异常体系结构及转换规则
- 模板模式及回调式的jdbc数据库访问方式,DAO支持
- 统一数据源DataSource
- ORM的集成支持
- 缓存
六、spring对事务的支持
- Spring的事务管理器体系结构
- Spring中事务切入实现
- 编程式事务和声明式事务管理
七、BeanFactory
- BeanFactory的体系结构:各接口的职责、各个实现类的核心代码理解
- BeanDefinition的体系
- Resource体系
- 可以看看 XmlBeanFactory是如何解析xml文件, 最终形成 BeanFactory 的
- WebApplicationContext的初始化过程(如果有时间)
八、Maven
- maven 的概念:基本概念、常用插件与插件对应的goal,常用参数、详细理解maven的生命周期、详细理解 maven的依赖管理,repository管理
- maven 的插件机制 (如果有时间)
九、
附录:
1、关于Spring源码的专栏文章:http://www.javaeye.com/wiki/spring-source
2、关于Maven的专业书籍:Maven中文指南.pdf
推荐书名目录:
- Docker技术入门和实战
- 深入理解Java虚拟机
- 持续交付
- Maven 实战
- 鸟哥的 Linux
- Spring Boot实战
- 第一本Docker书
- 深入分析Java Web技术内幕
- 实现领域驱动设计
- Java与模式
- 设计模式
- HBase实战
- 构建高性能web站点
- SpringBoot 揭秘
- 深入分析Java Web 技术内幕
- 设计模式之禅
- 深入浅出Google Android
- UML面向对象建模与设计
- Spring源码深度解析
- HBase权威指南
- 微服务架构与实践
- Docker技术入门和实战
- Spring Boot实战
spring源码:学习线索(li)的更多相关文章
- spring源码学习之路---深入AOP(终)
作者:zuoxiaolong8810(左潇龙),转载请注明出处,特别说明:本博文来自博主原博客,为保证新博客中博文的完整性,特复制到此留存,如需转载请注明新博客地址即可. 上一章和各位一起看了一下sp ...
- spring源码学习之路---IOC初探(二)
作者:zuoxiaolong8810(左潇龙),转载请注明出处,特别说明:本博文来自博主原博客,为保证新博客中博文的完整性,特复制到此留存,如需转载请注明新博客地址即可. 上一章当中我没有提及具体的搭 ...
- Spring源码学习
Spring源码学习--ClassPathXmlApplicationContext(一) spring源码学习--FileSystemXmlApplicationContext(二) spring源 ...
- Spring源码学习-容器BeanFactory(四) BeanDefinition的创建-自定义标签的解析.md
写在前面 上文Spring源码学习-容器BeanFactory(三) BeanDefinition的创建-解析Spring的默认标签对Spring默认标签的解析做了详解,在xml元素的解析中,Spri ...
- Spring源码学习-容器BeanFactory(三) BeanDefinition的创建-解析Spring的默认标签
写在前面 上文Spring源码学习-容器BeanFactory(二) BeanDefinition的创建-解析前BeanDefinition的前置操作中Spring对XML解析后创建了对应的Docum ...
- Spring源码学习-容器BeanFactory(二) BeanDefinition的创建-解析前BeanDefinition的前置操作
写在前面 上文 Spring源码学习-容器BeanFactory(一) BeanDefinition的创建-解析资源文件主要讲Spring容器创建时通过XmlBeanDefinitionReader读 ...
- Spring源码学习-容器BeanFactory(一) BeanDefinition的创建-解析资源文件
写在前面 从大四实习至今已一年有余,作为一个程序员,一直没有用心去记录自己工作中遇到的问题,甚是惭愧,打算从今日起开始养成写博客的习惯.作为一名java开发人员,Spring是永远绕不过的话题,它的设 ...
- 【目录】Spring 源码学习
[目录]Spring 源码学习 jwfy 关注 2018.01.31 19:57* 字数 896 阅读 152评论 0喜欢 9 用来记录自己学习spring源码的一些心得和体会以及相关功能的实现原理, ...
- Spring 源码学习——Aop
Spring 源码学习--Aop 什么是 AOP 以下是百度百科的解释:AOP 为 Aspect Oriented Programming 的缩写,意为:面向切面编程通过预编译的方式和运行期动态代理实 ...
- Spring 源码学习 04:初始化容器与 DefaultListableBeanFactory
前言 在前一篇文章:创建 IoC 容器的几种方式中,介绍了四种方式,这里以 AnnotationConfigApplicationContext 为例,跟进代码,看看 IoC 的启动流程. 入口 从 ...
随机推荐
- 【iOS】Xcode8+Swift3 纯代码模式实现 UICollectionView
开发环境 macOS Sierra 10.12.Xcode 8.0,如下图所示: 总体思路 1.建立空白的storyboard用于呈现列表 2.实现自定义单个单元格(继承自:UICollectionV ...
- [转载]SQL Server 2008 R2安装时选择的是windows身份验证,未选择混合身份验证的解决办法
安装过程中,SQL Server 数据库引擎设置为 Windows 身份验证模式或 SQL Server 和 Windows 身份验证模式.本文介绍如何在安装后更改安全模式. 如果在安装过程中选择&q ...
- js数组去重几种思路
在一些后台语言中都内置了一些方法来处理数组或集合中重复的数据.但是js中并没有类似的方法,网上已经有一些方法,但是不够详细.部分代码来源于网络.个人总计如下:大致有4种思路 1)使用两次循环比较原始的 ...
- Android开发学习—— Fragment
#Fragment* 用途:在一个Activity里切换界面,切换界面时只切换Fragment里面的内容* 生命周期方法跟Activity一致,可以理解把其为就是一个Activity* 定义布局文件作 ...
- TFS2013 设置签出独占锁
转载自: http://www.cnblogs.com/zhang888/p/4280251.html
- WiFi QC 自动测试:ixChariot API初探
Chariot虽然给我们提供了友好的界面,但是必须使用命令行或者使用它的API才能 实现自动测试.Chariot在安装的时候会让你选择命令行界面组件,在它的安装目录下面有一些工具, 暂时还不知道是干什 ...
- 架构 Roadmap 笔记分享
虽然我们的架构不是开源的,不过一些笔记可以愿意公开和大家讨论一下,我相信不少人在和我们干着同样的事情,那不如一块儿交流一下,这样我们可以更快. 这里前端,后端都有,前端我们用的是 avalon js, ...
- ADO.NET Entity Framework 在哪些场景下使用?
在知乎回答了下,顺手转回来. Enity Framework已经是.NET下最主要的ORM了.而ORM从一个Mapping的概念开始,到现在已经得到了一定的升华,特别是EF等对ORM框架面向对象能力的 ...
- Python学习--02输入和输出
命令行输入 x = input("Please input x:") y = raw_input("Please input x:") 使用input和raw_ ...
- ASP.NET OWIN OAuth:refresh token的持久化
在前一篇博文中,我们初步地了解了refresh token的用途——它是用于刷新access token的一种token,并且用简单的示例代码体验了一下获取refresh token并且用它刷新acc ...