spring.net 框架分析(三)ContextRegistry.GetContext()
2016-11-10 22:10
405 查看
我们通过ContextRegistry.GetContext()建立了一个IApplicationContext得实例,那么这个实例具体是怎么建立的了。
我们来分析一下容器实例建立的过程:
我们在配置文件中加入了:
[xhtml] view plain copy
<sectionGroup name="<a href="http://lib.csdn.net/base/javaee" class='replace_word' title="Java EE知识库" target='_blank' style='color:#df3434; font-weight:bold;'>spring</a>">
<section name="context" type="Spring.Context.Support.ContextHandler, Spring.Core"/>
</sectionGroup>
配置文件明明是Spring.Context.Support.ContextHandler类,与容器有什么关系了?
Spring.Context.Support.ContextHandler 类继承IConfigurationSectionHandler。(.net Framework 2.0以后要求继承ConfigurationSection类,IConfigurationSectionHandler类被否决。)提供了配置节点spring.context的处理。我们只需要在节点spring.context中提供容器的配置,系统就会按配置生成容器。
在Spring.Context.Support.ContextHandler 类中我们有这样一个属性:
protected virtual Type DefaultApplicationContextType
{
get { return typeof (XmlApplicationContext); }
}
这里的默认程序容器类型为XmlApplicationContext,也就是说我们实际建立的容器类型是XmlApplicationContext。
下面我们来看下类XmlApplicationContext.
![](http://p.blog.csdn.net/images/p_blog_csdn_net/yangjian15/EntryImages/20090910/301.PNG)
从上图我们可以看出XmlApplicationContext类是IApplicationContext接口的一个实现,当然直接实现类是AbstractApplicationContext。
总结:当我们调用ContextRegistry.GetContext()取得容器时,系统会按照配置文件使用XmlApplicationContext类建立一个IApplicationContext得实例。
我们来分析一下容器实例建立的过程:
我们在配置文件中加入了:
[xhtml] view plain copy
<sectionGroup name="<a href="http://lib.csdn.net/base/javaee" class='replace_word' title="Java EE知识库" target='_blank' style='color:#df3434; font-weight:bold;'>spring</a>">
<section name="context" type="Spring.Context.Support.ContextHandler, Spring.Core"/>
</sectionGroup>
配置文件明明是Spring.Context.Support.ContextHandler类,与容器有什么关系了?
Spring.Context.Support.ContextHandler 类继承IConfigurationSectionHandler。(.net Framework 2.0以后要求继承ConfigurationSection类,IConfigurationSectionHandler类被否决。)提供了配置节点spring.context的处理。我们只需要在节点spring.context中提供容器的配置,系统就会按配置生成容器。
在Spring.Context.Support.ContextHandler 类中我们有这样一个属性:
protected virtual Type DefaultApplicationContextType
{
get { return typeof (XmlApplicationContext); }
}
这里的默认程序容器类型为XmlApplicationContext,也就是说我们实际建立的容器类型是XmlApplicationContext。
下面我们来看下类XmlApplicationContext.
从上图我们可以看出XmlApplicationContext类是IApplicationContext接口的一个实现,当然直接实现类是AbstractApplicationContext。
总结:当我们调用ContextRegistry.GetContext()取得容器时,系统会按照配置文件使用XmlApplicationContext类建立一个IApplicationContext得实例。
相关文章推荐
- spring.net 框架分析(三)ContextRegistry.GetContext()
- spring.net 框架分析(二)IApplicationContext
- spring.net 框架分析(二)IApplicationContext
- spring.net 框架分析(四) AOP 简单示例
- "开源框架完美组合之Spring.NET + NHibernate + ASP.NET MVC + jQuery + easyUI 中英文双语言小型企业网站Demo"项目分析
- spring.net 框架分析(五)AOP实现
- 原创----Spring.Context.Support.ContextRegistry”的类型初始值设定项引发异常,以及Spring.net的配置的大体写法
- spring.net 框架分析(一)对象的创建
- spring.net 框架分析(六)数据访问
- JEE5标准与Struts/Spring/Hibernate等诸多开源框架的比较分析
- Spring.Net 框架(二)
- JEE5标准与Struts/Spring/Hibernate等诸多开源框架的比较分析
- ASP.Net MVC框架配置与分析
- Spring.Net 框架(三)
- JEE5标准与Struts/Spring/Hibernate等诸多开源框架的比较分析
- Spring.NET框架起航之认识篇
- JEE5标准与Struts/Spring/Hibernate等诸多开源框架的比较分析
- JEE5标准与Struts/Spring/Hibernate等诸多开源框架的比较分析
- [转贴]ASP.Net MVC框架配置与分析
- JEE5标准与Struts/Spring/Hibernate等诸多开源框架的比较分析