spring源码:学习线索(li)

一、spring xml配置(不包括AOP,主要了解在初始化及实例化过程中spring配置文件中每项内容的具体实现过程,从根本上掌握spring)

  1. <bean>的名字 &,alias,id(名称的转换,绑定)
  2. 属性及构造函数参数注入 (注入过程,类型转换)
  3. 依赖解析 (显示依赖和自动依赖解析 depends-on,autowire,dependency-check)
  4. 继承(extends)
  5. 作用域(singleton,prototype,session等,不同作用域的bean的具体实例化过程)
  6. 工厂方法与 FactoryBean
  7. 方法替换(lookup)
  8. init-memthod destroy-method初始化方法和销毁方法
  9. spring中BeanFactory相关的特殊bean
  10. Aware接口系列:BeanFacotryAware;BeanNameAware;BeanClassLoaderAware

二、BeanFactory容器后置处理接口(BeanFactoryPostProcessor)

  1. PropertyPlaceholderConfigurer;PropertyOverrideConfigurer;CustomEditorConfigurer;CustomScopeConfigurer
  2. Bean后置处理接口(BeanPostProcessor)InstantiationAwareBeanPostProcessor;DestructionAwareBeanPo;stProcessor;SmartInstantiationAwareBeanPostProcessor
  3. InitializingBean
  4. DisposableBean
  5. ApplicationContext对Spring中BeanFactory的功能扩展
  6. 统一资源加载(资源的封装与加载)
  7. 国际化信息支持(MessageSource)
  8. 容器内部事件

三、基于注解的依赖注入

四、aop部分

  1. aop中基础接口及类结构关系 (Pointcut,Advice,Aspect)
  2. ProxyFactoryBean,AopProxyFactory类结构及实现,及AOP与IOC容器的无缝接入
  3. 自动代理的实现
  4. 基于AspectJ的AOP
  5. 基于schema的AOP

五、spring数据库访问支持

  1. spring统一数据库访问异常体系结构及转换规则
  2. 模板模式及回调式的jdbc数据库访问方式,DAO支持
  3. 统一数据源DataSource
  4. ORM的集成支持
  5. 缓存

六、spring对事务的支持

  1. Spring的事务管理器体系结构
  2. Spring中事务切入实现
  3. 编程式事务和声明式事务管理

七、BeanFactory

  1. BeanFactory的体系结构:各接口的职责、各个实现类的核心代码理解
  2. BeanDefinition的体系
  3. Resource体系
  4. 可以看看 XmlBeanFactory是如何解析xml文件, 最终形成 BeanFactory 的
  5. WebApplicationContext的初始化过程(如果有时间)

八、Maven

  1. maven 的概念:基本概念、常用插件与插件对应的goal,常用参数、详细理解maven的生命周期、详细理解 maven的依赖管理,repository管理
  2. maven 的插件机制 (如果有时间)

九、

附录:

1、关于Spring源码的专栏文章:http://www.javaeye.com/wiki/spring-source

2、关于Maven的专业书籍:Maven中文指南.pdf 

推荐书名目录:

  1. Docker技术入门和实战
  2. 深入理解Java虚拟机
  3. 持续交付
  4. Maven 实战
  5. 鸟哥的 Linux
  6. Spring Boot实战
  7. 第一本Docker书
  8. 深入分析Java Web技术内幕
  9. 实现领域驱动设计
  10. Java与模式
  11. 设计模式
  12. HBase实战
  13. 构建高性能web站点
  14. SpringBoot 揭秘
  15. 深入分析Java Web 技术内幕
  16. 设计模式之禅
  17. 深入浅出Google Android
  18. UML面向对象建模与设计
  19. Spring源码深度解析
  20. HBase权威指南
  21. 微服务架构与实践
  22. Docker技术入门和实战
  23. Spring Boot实战
时间: 2024-11-08 23:10:46

spring源码:学习线索(li)的相关文章

Spring源码学习笔记(6)

Spring源码学习笔记(六) 前言-- 最近花了些时间看了<Spring源码深度解析>这本书,算是入门了Spring的源码吧.打算写下系列文章,回忆一下书的内容,总结代码的运行流程.推荐那些和我一样没接触过SSH框架源码又想学习的,阅读郝佳编著的<Spring源码深度解析>这本书,会是个很好的入门. 上一篇中我们梳理到 Spring 加载 XML 配置文件, 完成 XML 的解析工作,接下来我们将进入 Spring 加载 bean 的逻辑. 我们使用 Spring 获取 XML

Spring源码学习笔记(3)

Spring源码学习笔记(三) 前言----     最近花了些时间看了<Spring源码深度解析>这本书,算是入门了Spring的源码吧.打算写下系列文章,回忆一下书的内容,总结代码的运行流程.推荐那些和我一样没接触过SSH框架源码又想学习的,阅读郝佳编著的<Spring源码深度解析>这本书,会是个很好的入门. DispatcherServlet 实现核心功能 和普通的 Servelt 类一样, DispatcherServlet 中的 doGet() 和 doPost() 方法

Spring源码学习的初步体会

Spring源码学习的初步体会: 深入学习和巩固java的基础知识,其中的java知识范围全部,可以边研究源码边巩固复习基础知识 体会其中用到的设计思想:其中包含的设计原则和设计模式. 加深对spring的理解,在业务开发中使用spring更容易和深入,提高了生产率.

Spring源码学习笔记(5)

Spring源码学习笔记(五) 前言-- 最近花了些时间看了<Spring源码深度解析>这本书,算是入门了Spring的源码吧.打算写下系列文章,回忆一下书的内容,总结代码的运行流程.推荐那些和我一样没接触过SSH框架源码又想学习的,阅读郝佳编著的<Spring源码深度解析>这本书,会是个很好的入门 写下一句话,开篇不尴尬  ----  上篇文章中梳理到 Spring 加载资源文件后开始解析 Bean, 现在我们从两个解析函数 parseDefaultElement() 和 par

Spring源码学习笔记(7)

Spring源码学习笔记(七) 前言-- 最近花了些时间看了<Spring源码深度解析>这本书,算是入门了Spring的源码吧.打算写下系列文章,回忆一下书的内容,总结代码的运行流程.推荐那些和我一样没接触过SSH框架源码又想学习的,阅读郝佳编著的<Spring源码深度解析>这本书,会是个很好的入门 写前说句话, 开篇不尴尬 ---- 接下的这一篇当中, 我们将来回顾 Spring 中 AOP 功能的实现流程.  早上精力充沛, 开始新一天的学习 \(^o^)/~ 接触过 Spri

Spring 源码学习(二) IOC容器启动过程

这一节主要是记录一下Spring Ioc 容器的启动过程. Spring 的 Ioc 容器是怎么被加载和使用的? web容器为它提供了宿主环境 ServlectContext,  Tomcat 启动时会读取web.xml. 并且实例化web.xml中配置的ContextLoaderListener ,下面看一下ContextLoaderListener的创建过程: 在实例化ContextLoaderListener 之后,通过接口回调执行ContextLoaderListener 类中的cont

Spring源码学习-容器BeanFactory(一) BeanDefinition的创建-解析资源文件

写在前面 从大四实习至今已一年有余,作为一个程序员,一直没有用心去记录自己工作中遇到的问题,甚是惭愧,打算从今日起开始养成写博客的习惯.作为一名java开发人员,Spring是永远绕不过的话题,它的设计精巧,代码优美,值得每一名开发人员学习阅读. 在我最开始学习javaEE时,第一次接触Spring是从一个S(Struts)S(Spring)H(Herbinate)的框架开始.由java原生开发到框架开发转换过程中,那时我的印象里Struts负责控制层,herbinate负责数据层,而Sprin

Spring源码学习之一下载和导入

折腾了两天spring源码,一直都不能成功导入eclipse,今天早上上班前试了最后一次,总算BUILD SUCCESSFUL了,特此纪念一下. 一.下载spring源码,https://github.com/spring-projects/spring-framework/tree/v4.2.3.RELEASE.在linux mint系统里用git下载了一遍了,window系统的git用起来实在掣肘,所以直接下载zip压缩包了,解压. 二.更新jdk1.8_66,spring4需要用到jdk8

Spring 源码学习(一)

设计伊始       Spring 是为解决企业级应用开发的复杂性而设计,她可以做很多事.但归根到底支撑Spring的仅仅是少许的基本理念,而所有地这些的基本理念都能可以追溯到一个最根本的使命:简化开发.这是一个郑重的承诺,其实许多框架都声称在某些方面做了简化. 而Spring则立志于全方面的简化Java开发.对此,她主要采取了4个关键策略: 1,基于POJO的轻量级和最小侵入性编程: 2,通过依赖注入和面向接口松耦合: 3,基于切面和惯性进行声明式编程: 4,通过切面和模板减少样板式代码: 而

spring源码学习(1)——spring整体架构和设计理念

Spring是在Rod Johnson的<Expert One-On-One J2EE Development and Design >的基础上衍生而来的.主要目的是通过使用基本的javabean来完成以前只能用EJB完成的事情降低企业应用的复杂性.这一系列源码学习是基于Spring-4.3.11版本的. 一.Spring的整体架构 如图所示,spring可以被总结为一下几个部分: (1)Core Container 为Spring的核心容器,包含Beans,Core,Context和SpEL