`

Spring框架的设计理念与设计模式(5)-Core组件

阅读更多
关键词:Spring,Core,组件,Context
上一章:Spring框架的设计理念与设计模式(4)-Context组件              http://javapub.iteye.com/blog/751625
下一章:Spring框架的设计理念与设计模式(6)-Ioc容器及BeanFactory工厂 http://javapub.iteye.com/blog/751635

Core组件

Core组件作为Spring的核心组件,他其中包含了很多的关键类,其中一个重要组成部分就是定义了资源的访问方式。这种把所有资源都抽象成一个接口的方式很值得在以后的设计中拿来学习。下面就 重要看一下这个部分在Spring的作用。

下图是Resource相关的类结构图:

从上图可以看出Resource接口封装了各种可能的资源类型,也就是对使用者来说屏蔽了文件类型的不同。对资源的提供者来说,如何把资源包装起来交给其他人用这也是一个问题,我们看到Resource 接口继承了InputStreamSource接口,这个接口中有个getInputStream方法,返回的是InputStream类。这样所有的资源都被可以通过InputStream这个类来获取,所以也屏蔽了资源的提供者。另外还有一 个问题就是加载资源的问题,也就是资源的加载者要统一,从上图中可以看出这个任务是由ResourceLoader接口完成,他屏蔽了所有的资源加载者的差异,只需要实现这个接口就可以加载所有的资源, 他的默认实现是DefaultResourceLoader。

下面看一下Context和Resource是如何建立关系的?首先看一下他们的类关系图:


从上图可以看出,Context是把资源的加载、解析和描述工作委托给了ResourcePatternResolver类来完成,他相当于一个接头人,他把资源的加载、解析和资源的定义整合在一起便于其他组件使用。 Core组件中还有很多类似的方式。

目录--Spring框架的设计理念与设计模式
Spring框架的设计理念与设计模式(1)-Spring的架构             http://javapub.iteye.com/blog/751539
Spring框架的设计理念与设计模式(2)-Spring的设计理念         http://javapub.iteye.com/blog/751545
Spring框架的设计理念与设计模式(3)-Bean组件                 http://javapub.iteye.com/blog/751550
Spring框架的设计理念与设计模式(4)-Context组件              http://javapub.iteye.com/blog/751625
Spring框架的设计理念与设计模式(5)-Core组件                 http://javapub.iteye.com/blog/751627
Spring框架的设计理念与设计模式(6)-Ioc容器及BeanFactory工厂 http://javapub.iteye.com/blog/751635
Spring框架的设计理念与设计模式(7)-Spring中AOP特性与实现    http://javapub.iteye.com/blog/751642
Spring框架的设计理念与设计模式(8)-代理模式                 http://javapub.iteye.com/blog/751652
Spring框架的设计理念与设计模式(9)-策略模式                 http://javapub.iteye.com/blog/751653
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics