Spring的bean factory模式的流程图

想扩展spring里的一些东西,所以不得不去追踪spring的源码,spring从体系上来看,确实是设计的比较完美,

bean的生命周期都留了很多的扩展的功能。这点上比ibatis要强的好多,ibatis也有session, statement,

parameter mapping, result mapping等scope周期,但是不是很系统和成体系,生命周期定义的比较散乱,

结构化也不好,虽然在result这块留了callbackhandle这样的处理,但是扩展性比较局限,所以实现一个分页

的小功能,都不得不在ibatis的核心代码里注入自己的代码,这点和spring比起来,实在是相差的太远。

 

确实,ibatis定义不是一个框架,而更像一个persistence implementation tools,而spring确实是站里在

一个体系架构上的,所以每个scope必须定义的非常的清晰很正确,这样,我需要扩展spring的功能,不需要

注入代码了,而是可以基于对spring的架构体系的了解的基础上,进行plugin方式的实现方式,而无损源码的

情况下注入,这也是spring作为体系框架的迷人的魅力所在,这里由于需要通过annotation的方式,加入

自己的一些无配置化的功能,所以特地的研究了Spring的bean gerenatation这块的代码。理解了其中的流程

加入自己的Processor,从而完成annotation的采集和定制的功能。 下面是个人研究后的bean generation

的流程图,如下。

 

 

你可能感兴趣的:(Oracle数据库开发专栏)