spring源码:学习线索
一、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源码:学习线索的更多相关文章
- 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 的启动流程. 入口 从 ...
随机推荐
- 《C#图解教程》一览
本书针对编程新手和中级水平的程序员.笔者尽力专注 C# 语言本身,详尽深入地描述语言及各部分.少涉及 .NET 和相关编程实践.本书写作过程中,笔者始终坚持确保内容简洁性的同时又能透彻地讲解这门语言. ...
- DataGridView修改数据并传到数据库
1. 两个属性设置: 第一个:设置自动创建列,默认为True DataGridView1. AutoGenerateColumns = True; 虽然默认为True,但写下去总是好的!!! 第二个: ...
- 洛谷P2569 股票交易
题目传送门https://www.luogu.org/problemnew/show/P2569 第一眼看题就觉得是个dp ,然后看到2000的范围,hmm大概是个n^2的2维dp 开始设状态,第一维 ...
- 潭州课堂25班:Ph201805201 django 项目 第三课 码云注册,django项目 (课堂笔记)
d码云注册,登录, 创建项目: 生成秘钥 想看秘钥: 添加公钥 复制 ssh 连接 通过 git clone <ssh> 连接 在服务器上创建 python3 虚拟环境, 创建项目 p ...
- ES6 模板字面量
模板字面量 解决的问题 1.多行字符串 一个正式的多行字符串的概念 2.基本的字符串格式化 将变量的值嵌入字符串的能力 3.HTML转义 向HTML插入安全转换后的字符串的能力 (1)基础语法 相当于 ...
- java第一次课
package java第一周学习2; 达达20173435 信1705-2 import java.text.SimpleDateFormat; import java.util.Date; pub ...
- Mac下R语言环境搭建
Mac下R语言环境搭建 博主在数据分析的时候一直用的python(MATLAB太重了),最近跟其他搞学术的人合作,需要用一下R语言,所以也打算顺便学习一下R. R语言简介 R语言是用于统计分析,图形表 ...
- 【转】Java基础:System.out.println与System.err.println的区别
同时使用了System.out.println与System.err.println()打印输入内容,结果看到的内容和预想的不一样,顺序与预料的不同并不是因为err和out的区别导致,而是因为他们是两 ...
- Java 将 List 里面的内容写入桌面的 txt 文档
文件内容: /** * 将 list 写入文件中 */ import java.io.BufferedWriter; import java.io.File; import java.io.FileW ...
- JSP(8)—EL案例和JSTL案例
1.EL案例 el.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" ...