第1章 准备源代码环境15
1.1 安装JDK15
1.2 安装Eclipse15
1.3 安装辅助工具16
1.4 获取Spring源代码22
1.5 Spring源代码的组织结构24
1.6 小结26
第一部分 Spring核心实现篇
第2章 Spring FrameWork的核心:IoC容器的实现30
2.1 Spring IoC容器概述30
2.1.1 IoC容器和依赖反转模式30
2.1.2 Spring的IoC容器系列32
2.2 IoC容器系列的实现:BeanFactory和ApplicationContext34
2.2.1 BeanFactory对IoC容器的功能定义34
2.2.2 IoC容器XmlBeanFactory的工作原理36
2.2.3 ApplicationContext的特点38
2.3 IoC容器的初始化39
2.3.1 BeanDefinition的Resource定位40
2.3.2 BeanDefinition的载入和解析47
2.3.3 BeanDefinition在IoC容器中的注册61
*2.4 IoC容器的依赖注入63
2.5 容器其他相关特性的实现84
2.5.1 lazy-init属性和预实例化84
2.5.2 FactoryBean的实现87
2.5.3 BeanPostProcessor的实现89
2.5.4 autowiring的实现原理92
2.6 小结94
csdn的博客上有人写的读书笔记,更加细致,好好参考
http://blog.csdn.net/chjttony/article/details/6263347
第3章 Spring AOP的实现
a. 生成代理类:使用了jdk或者cglib
b. 生成拦截器链:
(1)使用了jdk代理的InvocationHander和cglib的Intercepter中使用
(2)试用了适配器模式统一管理,前置,后置,异常拦截器
(3)也使用了双向管理,执行拦截器
在ReflectiveMethodInvocation.proceed()中执行AdviceIntercepter.invoke()
然后在AdviceIntercepter.invoke()中执行MethodInvocation.proceed()
这个是双向管理,看来这种前置,后置,特殊处理的逻辑,适合使用双向关联这种设计模式
第6章 事务代理
声明式事务,用的是AOP代理,加油哦,研究一下
spring事务代理的例子
http://www.blogjava.net/robbie/archive/2009/04/05/264003.html
使用事务属性通知器,和poincut通知器要注意强化一下
6.5.3事务的提交
新事务就提交,已存在事务就用已存在的事务提交,
?但是嵌套事务为什么要释放savepoint?
这个人的读书笔记写得,很细,但是未解决问题,需要问问同学
http://blog.csdn.net/chjttony/article/details/6528344
6.5.4事务的回滚
6.6 spring事务管理器的设计与实现
6.6.2 DataSourceTransactionManager的实现
6.6.3 HibernateTransactionManager的实现