Spring.Net入门学习:基础配置

配置说明

下面介绍是基于ASP.NET MVC项目来介绍的(其实这些是无关紧要的,只不过借助一个项目
来实现学习配置,使用Spring.Net;建立控制台项目也是可以的,多啰嗦了一句哈)。
(1)Spring.Net包下载(已经友好的不行了,最少的积分即可下载)
(2)项目中引入Spring.Net开发包,配置App.config。
在App.config文件中(ASP.NET MVC项目是到Web.config文件中的configuration节点下)配置如下:
<configuration>
  <configSections><!--添加配置块-->
    <sectionGroup name="spring"><!--声明spring节点-->
      <section name="context" type="Spring.Context.Support.ContextHandler,Spring.Core"/>
      <section name="objects" type="Spring.Context.Support.DefaultSectionHandler,Spring.Core"/>
    </sectionGroup>
     <spring>
    <context>
      <!--Spring.Net对象容器的配置(下面这句话表示:容器里的对象,在当前配置文件(Web.config)的spring节点下的objects节点中配置对象)-->
      <resource uri="config://spring/objects"></resource>
      <!--uri:【第一种:加载文件方式加载配置文件】参数说明-回到当前bin目录下找对应的xml文件-->
      <!--<resource uri="file://cache.xml"></resource>-->
      <!--uri:【第二种:程序集方式加载配置文件(我在项目采用这种方式)】参数说明-会到:程序集名称为【HEPFrame.Web】的,项目文件命名空间为:【HEPFrame.Web】下的查找加载cachexml文件-->
      <!--<resource uri="assembly://HEPFrame.Web/HEPFrame.Web/cache.xml"></resource>-->
    </context>
    <!--objects:配置的容器里面的对象-->
    <objects xmlns="http://www.springframework.net">
      <description>An example that demonstrates simple IoC features.</description>
    </objects>
  </spring>
  </configSections>
 </configuration>

下面是cache.xml文件配置信息:
我是在ASP.NET MVC项目中用Memcached+Spring.Net实现缓存登录系统,下面只不过是写的一些缓存接口和类而已;最重要的是替代了 工厂模式,实现了【单机缓存】和【Memcached分布式缓存】之间的切换。

<?xml version="1.0" encoding="utf-8" ?>
<objects xmlns="http://www.springframework.net"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://www.springframework.net
         http://www.springframework.net/xsd/spring-objects.xsd">

  <!--配置CacheWriter缓存容器,两种缓存配置之间的切换-->
  <!--第一种:启用Memcached分布式缓存-->
  <!--<object name="CacheWriter" type="HEPFrame.Cache.MemcacheWriter,HEPFrame.Cache" singleton="false" >
    --><!--默认情况下singleton是true--><!--
  </object>-->

  <!--第二种:启用单机缓存;说明一下:type后面的参数是【类的全命名空间,类所在的程序集名称】-->
  <object name="CacheWriter" type="HEPFrame.Cache.HttpRuntimeCacheWriter,HEPFrame.Cache" singleton="false" >
  </object>
  <!--CacheHelper类做属性注入-->
  <object name="CacheHelper" type="HEPFrame.Cache.CacheHelper,HEPFrame.Cache" singleton="false">
    <property name="CacheHelper" ref="CacheWriter"></property><!--特别注意:被引用的属性,一定要先注入-->
  </object>
</objects>
  • 犯过的错误记录:
错误集:
(1)Error creating context 'spring.root': Configuration Section 'spring/
objects'does not exist
错误原因:
由于我在搭建MVC的项目时,采用分层搭建,在工具类中写的 缓存处理类库引用了Spring.Net
开发包;而在引用的地方(即网站项目Web下没有引用Spring.Net开发包,只是配置了节点
信息);也就是 调用类库的项目中 没有引用Spring.Net开发包。
(2)Error creating context 'spring.root': 未能找到文件“C:XXXXXX路径下的
cache.xml”文件(注意:尤其是自定义把xml文件归类到文件夹下,会出现加载不到该文件)
错误原因:
项目在读取cache.xml文件时,从bin目录下读取;因此需要点击cache.xml文件【右键】
->【属性】在【始终复制】栏中选择【始终复制】,【生成操作】栏中选择【嵌入资源】即可。

下面是我搭建的项目分层:
这里写图片描述
下面是创建实例的代码:
这里写图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值