![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Spring源码分析专题(学习)
文章平均质量分 95
普通网友
这个作者很懒,什么都没留下…
展开
-
spring源码分析-XmlBeanFactory导读
源代码分析,是一件既痛苦又快乐的事情,看别人写的代码是通过的,但当你能够看明白的时候,相信快乐也会随之而来,为了减少痛苦,更快的带来快乐,在这里希望通过这篇文章对觉得困难的朋友有一个帮助。 本文以spring框架的XmlBeanFactory为入手点进行分析,希望能够以尽量简洁明了的方式给予有需要的朋友一定的帮助。 首先来打开该类的代码,我们将看到如下代码: Java代码 p...原创 2009-12-01 10:54:34 · 74 阅读 · 0 评论 -
Spring源代码解析(九):Spring Acegi框架鉴权的实现
简单分析一下Spring Acegi的源代码实现: Servlet.Filter的实现AuthenticationProcessingFilter启动Web页面的验证过程 - 在AbstractProcessingFilter定义了整个验证过程的模板: Java代码 public void doFilter(ServletRequest request, ServletResp...原创 2009-12-01 11:04:30 · 145 阅读 · 0 评论 -
Spring源代码解析(八):Spring驱动Hibernate的实现
O/R工具出现之后,简化了许多复杂的信息持久化的开发。Spring应用开发者可以通过Spring提供的O/R方案更方便的使用各种持久化工具,比如Hibernate;下面我们就Spring+Hibernate中的Spring实现做一个简单的剖析。 Spring对Hinberanate的配置是通过LocalSessionFactoryBean来完成的,这是一个工厂Bean的实现,在基类Abstract...原创 2009-12-01 11:03:51 · 86 阅读 · 0 评论 -
Hessian源码分析和Hack --让Hessian携带远程调用端的信息
项目选定Hessian作为web service的实现方式,确实很轻量级,速度就跟直接用socket差不多,全是二进制传送节约了不少开销。但是在使用过程中有业务需要是必须获得远程端的ip地址,主机名等信息的。翻便Hessian的文档和google了n次未果,迫不得已到caucho和spring论坛去问,都没有得到答复。今天心一横把hessian的源代码加入到项目中单步跟踪,总算有点小收获。献丑分享...原创 2009-12-01 11:02:54 · 95 阅读 · 0 评论 -
Spring源代码解析(七):Spring AOP中对拦截器调用的实现
前面我们分析了Spring AOP实现中得到Proxy对象的过程,下面我们看看在Spring AOP中拦截器链是怎样被调用的,也就是Proxy模式是怎样起作用的,或者说Spring是怎样为我们提供AOP功能的; 在JdkDynamicAopProxy中生成Proxy对象的时候: Java代码 return Proxy.newProxyInstance(classLoader,...原创 2009-12-01 11:01:54 · 144 阅读 · 0 评论 -
关于spring ioc容器的问题
在spring的源代码中,有org.springframework.beans.factory.support.BeanDefinitionValueResolver这么个类. 在该类中有private Object resolveReference(String argName, RuntimeBeanReference ref)这样1个方法. 源代码如下: Java代码 ...原创 2009-12-01 11:01:18 · 76 阅读 · 0 评论 -
Spring声明式事务管理源码解读之事务提交
简介:上次说到spring声明式事务管理的事务开始部分,按流程来讲,下面应该提交事务了, spring的声明式事务管理其实是比较复杂的,事实上这种复杂性正是由于事务本身的复杂性导致的,如果能用两三句话就把这部分内容说清楚是不现实的,也是不成熟的,而我对这部分的理解也可能是不全面的,还是那句话,希望大家和我一起把本贴的质量提交起来。 在下面的文章中,我讲会多次提到第一篇文章,第一篇文章的地址是:ht...原创 2009-12-01 11:00:56 · 140 阅读 · 0 评论 -
Spring源代码解析(六):Spring声明式事务处理
我们看看Spring中的事务处理的代码,使用Spring管理事务有声明式和编程式两种方式,声明式事务处理通过AOP的实现把事物管理代码作为方面封装来横向插入到业务代码中,使得事务管理代码和业务代码解藕。在这种方式我们结合IoC容器和Spirng已有的FactoryBean来对事务管理进行属性配置,比如传播行为,隔离级别等。其中最简单的方式就是通过配置TransactionProxyFactoryB...原创 2009-12-01 11:00:06 · 118 阅读 · 0 评论 -
Spring源代码解析(五):Spring AOP获取Proxy
下面我们来看看Spring的AOP的一些相关代码是怎么得到Proxy的,让我们我们先看看AOP和Spring AOP的一些基本概念: Advice: 通知,制定在连接点做什么,在Sping中,他主要描述Spring围绕方法调用注入的额外的行为,Spring提供的通知类型有: before advice,AfterReturningAdvice,ThrowAdvice,MethodB...原创 2009-12-01 10:59:06 · 98 阅读 · 0 评论 -
Spring源代码解析(四):Spring MVC
下面我们对Spring MVC框架代码进行分析,对于webApplicationContext的相关分析可以参见以前的文档,我们这里着重分析Spring Web MVC框架的实现.我们从分析DispatcherServlet入手: Java代码 //这里是对DispatcherServlet的初始化方法,根据名字我们很方面的看到对各个Spring MVC主要元素的初始化 ...原创 2009-12-01 10:58:37 · 68 阅读 · 0 评论 -
Spring声明式事务管理源码解读之事务开始
Spring声明式事务管理源码解读 简介:事务是所有企业应用系统的核心,之前人们使用ejb的时候,容器事务管理(CMT),是slsb最令人称道的地方,据说很多人使用ejb,使用slsb就是为了cmt,但是spring出现之后,格局就变了,因为程序员又多了一种选择,就是声明式事务管理,声明式事务管理是基于AOP的,及AOP是它的底层特性,本文的目的就是为了和大家探讨一下spring的声明式事务管理,...原创 2009-12-01 10:57:49 · 270 阅读 · 0 评论 -
Spring源代码解析(三):Spring JDBC
下面我们看看Spring JDBC相关的实现, 在Spring中,JdbcTemplate是经常被使用的类来帮助用户程序操作数据库,在JdbcTemplate为用户程序提供了许多便利的数据库操作方法,比如查询,更新等,而且在Spring中,有许多类似 JdbcTemplate的模板,比如HibernateTemplate等等 - 看来这是Rod.Johnson的惯用手法,一般而言这种Templat...原创 2009-12-01 10:56:52 · 80 阅读 · 0 评论 -
Spring源代码解析(二):IoC容器在Web容器中的启动
上面我们分析了IOC容器本身的实现,下面我们看看在典型的web环境中,Spring IOC容器是怎样被载入和起作用的。 简单的说,在web容器中,通过ServletContext为Spring的IOC容器提供宿主环境,对应的建立起一个IOC容器的体系。其中,首先需要建立的是根上下文,这个上下文持有的对象可以有业务对象,数据存取对象,资源,事物管理器等各种中间层对象。在这个上下文的基础上,和web ...原创 2009-12-01 10:56:19 · 65 阅读 · 0 评论 -
Spring源代码解析(一):IOC容器
在认真学习Rod.Johnson的三部曲之一:<<Professional Java Development with the spring framework>>,顺便也看了看源代码想知道个究竟,抛砖引玉,有兴趣的同志一起讨论研究吧! 以下内容引自博客:http://jiwenke-spring.blogspot.com/,欢迎指导:) 在Spring中,IOC容器的重要...原创 2009-12-01 10:55:42 · 85 阅读 · 0 评论 -
Spring源代码解析(十):Spring Acegi框架授权的实现
我们从FilterSecurityInterceptor我们从入手看看怎样进行授权的: Java代码 //这里是拦截器拦截HTTP请求的入口 public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throw...原创 2009-12-01 11:05:12 · 97 阅读 · 0 评论