《Spring源码深度解析》读后感

大概三周看完《Spring源码深度解析》写下一篇读后感玩

首先高度概括:内容过于丰富 重点不突出

本书共分8个模块

1、XML解析部分非常全面,

各种配置方法,

解析步骤都有介绍,这里其实就是些嵌套的调用,Spring源码肯定比自己写的优美。

2、SpringBean加载主要涉及

获取beanName、

缓存、

扫描二维码关注公众号,回复: 3604819 查看本文章

反射,

处理循环依赖、

属性注入,

单例与原型。其实概念就这么多作者跟踪的比较详细,感觉跟踪的太深反而有点抓不到重点。

3、AOP

动态代理(基于接口的代理-JDK动态代理)、

静态织入(基于类的代理-CGLIB )。

proxyFactory实现原理 怎么返回带有织入功能的代理对象

IntroductionAdvisor与PointcutAdvisor区别:IntroductionAdvisor只能用于类级别的拦截和Introduction类型的Advice;而PointcutAdvisor可以使用任意类型的Pointcut和除Introduction类型以外的Advice。

织入操作过程

4、spring jdbc 与 mybatis

Spring与JDBC 就是封装Template

MyBatis(简化sqlsession创建 参数封装 返回值封装)

sqlsessionFactory,创建sqlsession

mapper接口 (只有接口可以使用动态代理) MapperFactoryBean 创建代理,执行mapper逻辑

5、spring事务

spring的事务以 aop为基础 

Spring事务管理机制的实现原理-动态代理

事务实现:

第一种,使用tx标签方式

第二种,使用代理方式

第三种,使用拦截器

spring支持的事务声明方式

(1)  编程式事务  当系统需要明确的,细粒度的控制各个事务的边界,应选择编程式事务。

(2).  声明式事务  当系统对于事务的控制粒度较粗时,应该选择申明式事务,通过<tx>标签和<aop>切面形式在xml中进行配置。

spring支持7种事务传播行为

spring中的事务隔离级别

事务回滚规则

6、SpringMVC

主要分析了几个主要类

ContextLoaderListener

DispacherSevlet

WebAppicationContext

HandlerExecutionChain 

7、RMI

8、JMS

JMSTemplate

总结:

挺全面的,就是感觉没有灵魂内容 印象比较深的也就是Bean循环引用处理 以及 动态代理

猜你喜欢

转载自blog.csdn.net/weixin_41395565/article/details/82462743