![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spring源码初探
She_lock
get busy living,or get busy dying.
展开
-
spring源码学习第一步,找源码导入项目
源码在github上的地址:https://github.com/spring-projects/spring-framework/tags ,自行下载自己要看的对应版本。可以看到,自己下载下来的是一个gradle管理的源码工程。那么就得在IDEA配置一把了然后就可以打开项目了: ...原创 2018-05-10 09:21:19 · 4500 阅读 · 0 评论 -
Spring AOP原理之建立AopProxy代理对象
在Spring AOP实现中,使用的核心技术是动态代理,而这种动态代理实际上是JDK的一个特性(在JDK 1.3以上的版本里,实现了动态代理模式)。通过JDK的动态代理特性,可以为任意Java对象创建代理对象,对于具体使用来说,这个特性是通过Java Reflection API来完成的。设计原理以ProxyFactory的设计为中心,可以看到相关的类继承关系如图所示: P...原创 2018-05-15 15:41:43 · 5351 阅读 · 0 评论 -
Spring事务处理浅析
类层次结构在Spring的事务处理模块中.可以看到的类层次结构如图:可以看到,Spring事务处理模块是通过AOP功能来实现声明式事务处理的,比如事务属性的配置和读取,事务对象的抽象等。因此,在Spring事务处理中,可以通过设计一个TransactionProxyFactoryBean来使用AOP功能,通过这个TransactionProxyFactoryBean可以生成Proxy...原创 2018-05-21 16:57:32 · 4443 阅读 · 0 评论 -
Spring JDBC的设计与实现
设计原理在Spring JDBC中,JdbcTemplate 是一个主要的模板类,它的类继承关系如图: 从类继承关系上来看,JdbcTemplate继承了基类JdbcAccessor和接口类JdbcOperation。在基类JdbcAccessor的设计中,对DataSource数据源进行管理和配里。在JdbcOperation接口中,定义了通过JDBC操作数据库的墓本操作方法。而Jdb...原创 2018-05-21 11:43:30 · 4406 阅读 · 0 评论 -
IOC原理之IoC容器的初始化过程
IoC容器的初始化过程包括Resource定位、BeanDefinition的载入以及向IoC容器注册这些BeanDefinition三个阶段。仍以FileSystemXmlApplicationContext为例,来讲解这个过程。FileSystemXmlApplicationContext的继承体系: 由继承关系可知,FileSystemXmlApplicationCon...原创 2018-05-14 13:05:20 · 6794 阅读 · 0 评论 -
Spring MVC原理之Spring MVC的设计与实现
接上文 SpringMVC原理之Spring应用上下文(Ioc容器)在Web容器中的启动分析。 在前文的分析过程中,了解了 Spring的上下文体系通过ContextLoader和DispatcherServiet建立并初始化的过程。在完成对ContextLoaderListener的初始化以后,Web容器开始初始化DispatcherServlet,这个初始化的启动与在web.xml中对...原创 2018-05-18 14:38:15 · 4326 阅读 · 0 评论 -
IoC原理之IoC容器系列的设计与实现
在Spring IoC容器的设计中,我们可以看到两个主要的容器系列,一个是实现Bean Factory接口的简单容器系列,这系列容器只实现了容器的最甚本功能.另一个是ApplicationContext应用上下文,它作为容器的高级形态而存在。应用上下文在简单容器的基础上,增加了许多面向框架的特性,同时对应用环境作了许多适配。有了这两种墓本的容器系列.基本上可以满足用户对IoC容器使用的大部分...原创 2018-05-11 15:12:31 · 5117 阅读 · 0 评论 -
Spring MVC原理之Spring应用上下文(IoC容器)在Web容器中的启动分析
Spring IoC是一个独立的模块,它并不是直接在Web容器中发挥作用的。如果要在Web环境中使用IoC容器,需要Spring为IoC设计一个启动过程,把IoC容器导人,并在Web容器中建立起来。具体说来,这个启动过程是和Web容器的启动过程集成在一起的。在这个过程中,一方面处理Web容器的启动,另一方面通过设计特定的Web容器拦截器,将IoC容器载入到Web环境中来.并将其初始化。在这个...原创 2018-05-17 14:05:23 · 4867 阅读 · 1 评论 -
Spring整体架构
Spring是封装的很清晰的一个分层架构,Spring架构图如下: Spring IoC包含最为基本的IoC容器BeanFactory的接口与实现,在这个Spring的核心包中,不仅定义IoC容器的最基本接口(BeanFactory),也提供一 系列这个接口的实现,如XmlBeanFactory就是一个最墓本的BeanFactory (IoC容器),从名字上可以看到,它能够支持通过...原创 2018-05-10 16:45:12 · 6407 阅读 · 0 评论 -
Spring AOP原理之拦截器调用的实现
接上文 Spring AOP原理之建立AopProxy代理对象 在Spring AOP通过JDK的Proxy方式或CGLIB方式生成代理对象的时候,相关的拦截器已经配置到代理对象中去了,拦截器在代理对象中起作用是通过对这些方法的回调来完成的。如果使用JDK的Proxy来生成代理对象,那么需要通过InvocationHandler来设置拦截器回调.而如果使用CGLIB来生成代理对象,就需要根...原创 2018-05-16 11:33:53 · 6169 阅读 · 0 评论