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 的启动流程. 入口 从 ...
随机推荐
- BZOJ.5290.[AHOI/HNOI2018]道路(树形DP)
BZOJ LOJ 洛谷 老年退役选手,都写不出普及提高DP= = 在儿子那统计贡献,不是在父亲那统计啊!!!(这样的话不写这个提高DP写记忆化都能过= =) 然后就令\(f[x][a][b]\)表示在 ...
- VUE学习第一天,安装
vue生命周期好文章: http://www.zhimengzhe.com/Javascriptjiaocheng/236707.html
- ReactNative bug:Application XXX has not bean registered.
故障现象 当react-native init新项目之后运行react-native run -android/ios时手机报错 Application XXX has not bean regist ...
- (转自知乎)Unicode编码
很多人都把Unicode编码挂在嘴边,其实咱们现实生活中遇到的编码基本都是Unicode的 因为Unicode兼容了大多数老版本的编码规范例如 ASCII Unicode编码定义了这个世界上几乎所有字 ...
- C++学习笔记46:模板与群体数据
函数模板 创建一个通用功能的函数,支持多种不同的形参:简化重载函数的函数体设计: 语法形式 template <模板参数表> 函数定义:模板参数表的内容:类型参数:class(或typen ...
- mybatis查询到count(*)返回值
resultType="int" <select id="num_List_" parameterType=" xxx" result ...
- flask内容之数据库的管理
#! /usr/bin/env python # *-* coding: utf-8 *-* from flask import Flask, flash, redirect from flask i ...
- jquery 在线视频
1. jquery 网址 自学视频 http://edu.51cto.com/center/course/lesson/index?id=19292
- Java全栈程序员之06:IDEA中MAVEN项目依赖及运行
MAVEN已经成为事实上的企业项目开发中的项目类型.无论是IDEA还是Eclipse,都已经默认支持创建MAVEN项目.严格意义上来说,MAVEN不是一种新的JavaEE项目类型.它凌驾于所以的项目类 ...
- Docker permission denied while trying to connect to the Docker daemon socket
Problem jenkins执行docker打包的时候报错,说没有权限 docker build -t docker.ryan-miao.com/com.demo:f1aa23e --build-a ...