Spring 解析 博客http://hi.baidu.com/javabbs/blog/item/44f0bf77a3c09810b151b93f.html

http://hi.baidu.com/javabbs/blog/item/44f0bf77a3c09810b151b93f.html

Spring源代码分析系列目录。

 

  spring源码分析-XmlBeanFactory导读

  本文以spring框架的XmlBeanFactory为入手点进行分析,希望能够以尽量简洁明了的方式给予有需要的朋友一定的帮助。

  Spring源代码解析(一):IOC容器

  在Spring中,IOC容器的重要地位我们就不多说了,对于Spring的使用者而言,IOC容器实际上是什么呢?我们可以说BeanFactory就是我们看到的IoC容器,当然了Spring为我们准备了许多种IoC容器来使用,这样可以方便我们从不同的层面,不同的资源位置,不同的形式的定义信息来建立我们需要的IoC容器。

  Spring源代码分析(二):IOC容器在web容器中的启动

  我们看到在web容器中,ServletContext可以持有一系列的web上下文,而在整个web上下文中存在一个根上下文来作为其它 Servlet上下文的父上下文。这个根上下文是由ContextLoader载入并进行初始化的,对于我们的web应用, DispatcherSerlvet载入并初始化自己的上下文,这个上下文的父上下文是根上下文,并且我们也能从ServletContext中根据 Servlet的名字来检索到我们需要的对应于这个Servlet的上下文,但是根上下文的名字是由Spring唯一确定的。这个 DispactcherServlet建立的上下文就是我们开发Spring MVC应用的IOC容器。

  Spring源代码分析(三):Spring JDBC

  在Spring中,JdbcTemplate是经常被使用的类来帮助用户程序操作数据库,在JdbcTemplate为用户程序提供了许多便利的数据库操作方法,比如查询,更新等,而且在Spring中,有许多类似 JdbcTemplate的模板,比如HibernateTemplate等等 - 看来这是Rod.Johnson的惯用手法,一般而言这种Template中都是通过回调函数CallBack类的使用来完成功能的,客户需要在回调接口中实现自己需要的定制行为,比如使用客户想要用的SQL语句等。

  Spring源代码解析(四):Spring MVC

  对于webApplicationContext的相关分析可以参见以前的文档,我们这里着重分析Spring Web MVC框架的实现.

  Spring源代码解析(五):Spring AOP获取Proxy

  我们来看看Spring的AOP的一些相关代码是怎么得到Proxy的,让我们我们先看看AOP和Spring AOP的一些基本概念

  Spring源代码解析(六):Spring声明式事务处理

  使用Spring管理事务有声明式和编程式两种方式,声明式事务处理通过AOP的实现把事物管理代码作为方面封装来横向插入到业务代码中,使得事务管理代码和业务代码解藕。在这种方式我们结合IoC容器和Spirng已有的FactoryBean来对事务管理进行属性配置,比如传播行为,隔离级别等。

  Spring源代码解析(七):Spring AOP中对拦截器调用的实现

  我们看看在Spring AOP中拦截器链是怎样被调用的,也就是Proxy模式是怎样起作用的,或者说Spring是怎样为我们提供AOP功能的;

  Spring源代码解析(八):Spring驱动Hibernate的实现

  Spring应用开发者可以通过Spring提供的O/R方案更方便的使用各种持久化工具,比如Hibernate;下面我们就Spring+Hibernate中的Spring实现做一个简单的剖析。

  Spring源代码解析(九):Spring Acegi框架鉴权的实现

  分析了整个Acegi进行验证的过程,从AuthenticationProcessingFilter中拦截Http请求得到用户输入的用户名和密码,这些用户输入的验证信息会被放到Authentication对象中持有并传递给AuthenticatioManager来对比在服务端的用户信息来完成整个鉴权。这个鉴权完成以后会把有效的用户信息放在一个Authentication中供以后的授权模块使用。在具体的鉴权过程中,使用了我们配置好的各种Provider以及对应的UserDetailService和Encoder类来完成相应的获取服务器端用户数据以及与用户输入的验证信息的比对工作。

  Spring源代码解析(十):Spring Acegi框架授权的实现

  从FilterSecurityInterceptor拦截Http请求入手,然后读取对资源的安全配置以后,把这些信息交由AccessDecisionManager来进行决策,Spring为我们提供了若干决策器来使用,在决策器中我们可以配置投票器来完成投票,我们具体分析了角色投票器的使用过程。

  Hessian源码分析和Hack --让Hessian携带远程调用端的信息

  项目选定Hessian作为web service的实现方式,确实很轻量级,速度就跟直接用socket差不多,全是二进制传送节约了不少开销。但是在使用过程中有业务需要是必须获得远程端的ip地址,主机名等信息的。翻便Hessian的文档和google了n次未果,迫不得已到caucho和spring论坛去问,都没有得到答复。今天心一横把hessian的源代码加入到项目中单步跟踪,总算有点小收获。献丑分享出来,一方面给需要的朋友,主要还是希望各位找找是否存在bug,以及是否有更好的改良。

  Spring声明式事务管理源码解读之事务开始

  事务是所有企业应用系统的核心,之前人们使用ejb的时候,容器事务管理(CMT),是slsb最令人称道的地方,据说很多人使用ejb,使用slsb就是为了cmt,但是spring出现之后,格局就变了,因为程序员又多了一种选择,就是声明式事务管理,声明式事务管理是基于AOP的,及AOP是它的底层特性,本文的目的就是为了和大家探讨一下spring的声明式事务管理,从源代码来分析它的背后的思想。

  Spring声明式事务管理源码解读之事务提交

  上次说到spring声明式事务管理的事务开始部分,按流程来讲,下面应该提交事务了, spring的声明式事务管理其实是比较复杂的,事实上这种复杂性正是由于事务本身的复杂性导致的,如果能用两三句话就把这部分内容说清楚是不现实的,也是不成熟的,而我对这部分的理解也可能是不全面的,还是那句话,希望大家和我一起把本贴的质量提交起来。

 

或者使用下面的链接地址

Spring源代码解析(十):Spring Acegi框架授权的实现 
我们从FilterSecurityInterceptor我们从入手看看怎样进行授权的: //这里是拦截器拦截HTTP请求的入口 public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletExce ...

jiwenke  评论 (1)  有 2234 人浏览  2007-08-17

Spring源代码解析(九):Spring Acegi框架鉴权的实现

简单分析一下Spring Acegi的源代码实现: Servlet.Filter的实现AuthenticationProcessingFilter启动Web页面的验证过程 - 在AbstractProcessingFilter定义了整个验证过程的模板: public void doFilter(ServletRequest request, ServletResponse respons ...
jiwenke  评论 (2)  有 2027 人浏览  2007-08-16

Spring源代码解析(八):Spring驱动Hibernate的实现

O/R工具出现之后,简化了许多复杂的信息持久化的开发。Spring应用开发者可以通过Spring提供的O/R方案更方便的使用各种持久化工具,比如Hibernate;下面我们就Spring+Hibernate中的Spring实现做一个简单的剖析。 Spring对Hinberanate的配置是通过LocalSessionFactoryBean来完成的,这是一个工厂Bean的实现,在基类AbstractS ...
jiwenke  评论 (1)  有 2847 人浏览  2007-08-10

Hessian源码分析和Hack --让Hessian携带远程调用端的信息

项目选定Hessian作为web service的实现方式,确实很轻量级,速度就跟直接用socket差不多,全是二进制传送节约了不少开销。但是在使用过程中有业务需要是必须获得远程端的ip地址,主机名等信息的。翻便Hessian的文档和google了n次未果,迫不得已到caucho和spring论坛去问,都没有得到答复。今天心一横把hessian的源代码加入到项目中单步跟踪,总算有点小收获。献丑分享出 ...
Caixiaopig  评论 (0)  有 1438 人浏览  2007-08-03

Spring源代码解析(七):Spring AOP中对拦截器调用的实现

前面我们分析了Spring AOP实现中得到Proxy对象的过程,下面我们看看在Spring AOP中拦截器链是怎样被调用的,也就是Proxy模式是怎样起作用的,或者说Spring是怎样为我们提供AOP功能的;在JdkDynamicAopProxy中生成Proxy对象的时候: return Proxy.newProxyInstance(classLoader, proxiedI ...
jiwenke  评论 (1)  有 2564 人浏览  2007-08-01

关于spring ioc容器的问题

在spring的源代码中,有org.springframework.beans.factory.support.BeanDefinitionValueResolver这么个类. 在该类中有private Object resolveReference(String argName, RuntimeBeanReference ref)这样1个方法. 源代码如下: private Object reso ...
bennyparlo  评论 (0)  有 1338 人浏览  2007-06-29

Spring声明式事务管理源码解读之事务提交

/** *作者:张荣华(ahuaxuan) *2007-06-11 *转载请注明出处及作者 */ 简介:上次说到spring声明式事务管理的事务开始部分,按流程来讲,下面应该提交事务了, spring的声明式事务管理其实是比较复杂的,事实上这种复杂性正是由于事务本身的复杂性导致的,如果能用两三句话就把这部分内容说清楚是不现实的,也是不成熟的,而我对这部分的理解也可能是不全面的,还是那句话,希 ...
ahuaxuan  评论 (0)  有 1666 人浏览  2007-06-11

Spring源代码解析(六):Spring声明式事务处理

我们看看Spring中的事务处理的代码,使用Spring管理事务有声明式和编程式两种方式,声明式事务处理通过AOP的实现把事物管理代码作为方面封装来横向插入到业务代码中,使得事务管理代码和业务代码解藕。在这种方式我们结合IoC容器和Spirng已有的FactoryBean来对事务管理进行属性配置,比如传播行为,隔离级别等。其中最简单的方式就是通过配置TransactionProxyFactoryBe ...
jiwenke  评论 (0)  有 2308 人浏览  2007-06-08

Spring源代码解析(五):Spring AOP获取Proxy

下面我们来看看Spring的AOP的一些相关代码是怎么得到Proxy的,让我们我们先看看AOP和Spring AOP的一些基本概念: Advice:     通知,制定在连接点做什么,在Sping中,他主要描述Spring围绕方法调用注入的额外的行为,Spring提供的通知类型有:     before advice,AfterReturningAdvice,ThrowAdvice,MethodBe ...
jiwenke  评论 (1)  有 2125 人浏览  2007-06-08

Spring源代码解析(四):Spring MVC

下面我们对Spring MVC框架代码进行分析,对于webApplicationContext的相关分析可以参见以前的文档,我们这里着重分析Spring Web MVC框架的实现.我们从分析DispatcherServlet入手: //这里是对DispatcherServlet的初始化方法,根据名字我们很方面的看到对各个Spring MVC主要元素的初始化 protected ...
jiwenke  评论 (6)  有 2689 人浏览  2007-06-07

Spring声明式事务管理源码解读之事务开始

/** *作者:张荣华(ahuaxuan) *2007-06-16 *转载请注明出处及作者 */ Spring声明式事务管理源码解读简介:事务是所有企业应用系统的核心,之前人们使用ejb的时候,容器事务管理(CMT),是slsb最令人称道的地方,据说很多人使用ejb,使用slsb就是为了cmt,但是spring出现之后,格局就变了,因为程序员又多了一种选择,就是声明式事务管理,声明式事务管理 ...
ahuaxuan  评论 (1)  有 1907 人浏览  2007-06-06

Spring源代码解析(三):Spring JDBC

引用自博客:http://jiwenke-spring.blogspot.com/ 下面我们看看Spring JDBC相关的实现,在Spring中,JdbcTemplate是经常被使用的类来帮助用户程序操作数据库,在JdbcTemplate为用户程序提供了许多便利的数据库操作方法,比如查询,更新等,而且在Spring中,有许多类似 JdbcTemplate的模板,比如HibernateTempla ...
jiwenke  评论 (2)  有 3074 人浏览  2007-06-05

Spring源代码解析(二):IoC容器在Web容器中的启动

以下引用自博客:http://jiwenke-spring.blogspot.com/ 上面我们分析了IOC容器本身的实现,下面我们看看在典型的web环境中,Spring IOC容器是怎样被载入和起作用的。简单的说,在web容器中,通过ServletContext为Spring的IOC容器提供宿主环境,对应的建立起一个IOC容器的体系。其中,首先需要建立的是根上下文,这个上下文持有的对象可以有业务 ...
jiwenke  评论 (4)  有 3472 人浏览  2007-06-04

Spring源代码解析(一):IOC容器

在认真学习Rod.Johnson的三部曲之一:<<Professional Java Development with the spring framework>>,顺便也看了看源代码想知道个究竟,抛砖引玉,有兴趣的同志一起讨论研究吧!以下内容引自博客:http://jiwenke-spring.blogspot.com/,欢迎指导:)在Spring中,IOC容器的重要地 ...
jiwenke  评论 (4)  有 8112 人浏览  2007-06-03

spring源码分析-XmlBeanFactory导读

源代码分析,是一件既痛苦又快乐的事情,看别人写的代码是通过的,但当你能够看明白的时候,相信快乐也会随之而来,为了减少痛苦,更快的带来快乐,在这里希望通过这篇文章对觉得困难的朋友有一个帮助。 本文以spring框架的XmlBeanFactory为入手点进行分析,希望能够以尽量简洁明了的方式给予有需要的朋友一定的帮助。 首先来打开该类的代码,我们将看到如下代码: public class Xml ...

spring事务探索

spring自建事务管理模块。而且这个事务管理是一个抽象设计,可以应用到很多场合,包括普通的DataSource,jta,jms和hibernate上。要正确使用spring的事务,首先需要了解spring在事务设计上的一些概念统观spring事务,围绕着两个核心PlatformTransactionManager和TransactionStatus PlatformTransactionMa ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值