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 的启动流程. 入口 从 ...
随机推荐
- PPT设计宝典!十招教你做出拿手的PPT
据说上班用 excel 的比 word 的工资高,用 ppt 的比用 excel 的工资高.无论如何,在职场演讲汇报中,PPT 扮演着至关重要的角色. 在本文我们将用 10 个超级技巧来解决糟糕的演 ...
- 2019-1-23IntelliJ IDEAget的使用教程及出现的问题
第一条:快捷键: Ctrl+Alt+h:显示调用当前方法的所有位置. Ctrl+Alt+B:跳转到方法实现处 自动修正,我这是 Alt + L Ctrl+Enter,导入包,自动修正Ctrl+Alt+ ...
- 给有C或C++基础的Python入门 :Python Crash Course 1 - 3
暑假ACM集训结束,预习下个学期要学习的Python. 前几章比较基础,玩玩学学很快学完了,这里随意写点收获. 第一章 搭建编译环境 用的是最新的Python3.编译器用的是推荐的Geany..具 ...
- MySQL分页limit速度太慢的优化方法
limit用法 在我们使用查询语句的时候,经常要返回前几条或者中间某几行数据,这个时候怎么办呢?不用担心,mysql已经为我们提供了这样一个功能. SELECT * FROM table LIMIT ...
- Space Elevator [POJ2392] [DP][优化]
题目大意 n件物品,第i件hi高,有ci件,最高的一件不能超过ai的高度.问最高能堆多高 输入: 第一行,一个n 接下来每一行,为hi,ai,ci 输出,最高堆多高 样例输入: 37 40 35 23 ...
- WebApi路由解析增加版本控制
1.自定义路由解析类 public class VersionHttpControllerSelector : IHttpControllerSelector { private const stri ...
- angular学习笔记(6)- 指令
angular1学习笔记(6)- 指令 restrict-匹配模式 1.A - 属性 <my-menu title=Products></my-menu> 2.M - 注释 & ...
- JDBC(13)—JDBC调用存储过程和函数
步骤: JDBC调用存储过程和函数 步骤: ①:通过Connection对象的prepareCall()方法创建一个CallableStatement对象的实例,在使用Connection对象的pre ...
- 轻量级的Web框架——Nancy
最近想找一个简单的.Net下的轻量级Web框架,作为用户的本地的一个WebServer,实现同浏览器程序的一些简单交互,并调用本地服务,实现类似浏览器插件的功能.它有如下几点要求: 简单,能快速账务, ...
- C#完美任意设置webBrowser框架默认的IE内核版本
通常情况下,我们直接调用C#控件webBrowser1控件的时候 默认是IE7 用webBrowser1控件打开IE内核检测网站内容是这样滴 我们在程序里面写入以下代码 /// <summar ...