Spring.NET环境准备

pring.NET 1.3.2下载地址:http://down.51cto.com/data/861700

下载后解压

Spring.NET-1.3.2.7z:这个里面有我们需要用到的所有东西。

Spring.NET-1.3.2.exe:安装文件

Spring.NET-1.3.2-API.chm:帮助文档

NHibernate 3.2 的下载地址:

http://sourceforge.net/projects/nhibernate/files/NHibernate/3.2.0GA/

点击上面红框就可以进行下载了。

1、我们先点击安装文件Spring.NET-1.3.2.exe进行安装,安装过程点击下一步就可以了。

完成后,你会看到如下界面:

2、打开Spring.NET的安装目录,可以看到如下界面:

3、展开Spring.Net安装目录,

主要文件夹说明:

lib:常用的程序集,其中包含了 NHibernate 3.2 的程序集

schema:Xml 的架构文件 ,提供XML的智能感知功能。操作说明:将 schema 中的 .xsd文件 复制到 Visual Studio 的安装目录下的 Xml\Schemas 文件夹中就可以实现xml智能提示了

配置Spring.Net网站

1、新建一个web网站,添加一个Index.aspx页面。

2、添加程序集 Spring.Core.dll 和 Spring.Web.dl,Common.Logging.dll的引用

为了方便管理,新建一个BLL文件夹,然后从Spring.Net的安装目录拷贝这三个dll程序集过来,然后添加对这三个程序集的引用。

我用的是VS2010,所以拷贝4.0目录下面的dll文件。

Spring.NET\Spring.NET\Spring.NET-1.3.2\Spring.NET\bin\net\4.0\release目录下面

3、配置web.config

在网站的 web.config 配置文件中,进行如下配置

  1. <configuration>
  2. <configSections>
  3. <!-- Spring 的配置 -->
  4. <sectionGroup name="spring">
  5. <section name="context" type="Spring.Context.Support.WebContextHandler, Spring.Web"/>
  6. </sectionGroup>
  7. </configSections>
  8. <spring>
  9. <context>
  10. </context>
  11. </spring>
  12. <system.web>
  13. <compilation debug="false" targetFramework="4.0" />
  14. <httpModules>
  15. <!--Spring 提供的 Module-->
  16. <add name="Spring" type="Spring.Context.Support.WebSupportModule, Spring.Web"/>
  17. </httpModules>
  18. <httpHandlers>
  19. <!--Spring 提供的处理程序-->
  20. <add verb="*" path="*.aspx" type="Spring.Web.Support.PageHandlerFactory, Spring.Web"/>
  21. <!--取消 Spring.NET 对于 Web 服务的处理-->
  22. <add verb="*" path="*.asmx" type="Spring.Web.Services.WebServiceHandlerFactory, Spring.Web"/>
  23. <add verb="*" path="ContextMonitor.ashx" type="Spring.Web.Support.ContextMonitor, Spring.Web"/>
  24. <add verb="*" path="*.ashx" type="Spring.Web.Support.DefaultHandlerFactory, Spring.Web"/>
  25. </httpHandlers>
  26. </system.web>
  27. </configuration>

现在,页面应该可以正常浏览了。从此以后的页面将通过 Spring.NET 创建与管理。

第一个程序“Hello,World”

1、新建一个类Framework.cs

  1. public class Framework
  2. {
  3. public Framework()
  4. {
  5. //
  6. //TODO: 在此处添加构造函数逻辑
  7. //
  8. }
  9. public string Name { set; get; }
  10. }

2、在Index.aspx页面添加一个label

  1. <div>
  2. <h1><asp:Label runat="server" ID="lblFramework"></asp:Label></h1>
  3. </div>

3、Index.aspx.cs

  1. public partial class Index : System.Web.UI.Page
  2. {
  3. // 定义一个注入点
  4. public Framework FrameworkName { set; get; }
  5. protected void Page_Load(object sender, EventArgs e)
  6. {
  7. this.lblFramework.Text = this.FrameworkName.Name;
  8. }
  9. }

定义对象主要有两种方式,直接定义在 web.config 中,或者定义在外部的配置文件中。

4、直接定义在 web.config 中,使用 Spring.Context.Support.DefaultSectionHandler。这样可以在配置文件中直接定义。

  1. <configSections>
  2. <!-- Spring 的配置 -->
  3. <sectionGroup name="spring">
  4. <section name="context" type="Spring.Context.Support.WebContextHandler, Spring.Web"/>
  5. <!-- 支持在 web.config 中定义对象 -->
  6. <section name="objects" type="Spring.Context.Support.DefaultSectionHandler, Spring.Core" />
  7. </sectionGroup>
  8. </configSections>
  9. <spring>
  10. <context>
  11. <resource uri="config://spring/objects"/>
  12. </context>
  13. <!-- 直接定义在 web.config 中的对象 -->
  14. <objects>
  15. <object id="framework" type="Framework"><!--类名-->
  16. <property name="Name" value="Hello,world"/><!--属性名称,值-->
  17. </object>
  18. <!-- 页面对象 -->
  19. <object type="~/Index.aspx">
  20. <!-- ref 表示引用的对象 -->
  21. <property name="FrameworkName" ref="framework"/><!--Index.aspx页面的属性名称-->
  22. </object>
  23. </objects>
  24. </spring>

5、浏览Index.aspx

6、在单独的配置文件中配置对象。

在网站中创建一个名为 Config 的文件夹,以保存独立的配置文件。

在 Config 文件夹中,创建一个名为 objects.xml 的 Xml 配置文件。添加名为 objects 的根元素,添加默认命名空间 xmlns="http://www.springframework.net"

找到如下架构文件,复制到vs安装目录:C:\Program Files (x86)\Microsoft Visual Studio 10.0\Xml\Schemas

这样,我们在xml文件中就具备智能感知功能了。

添加原来对象定义到这里。

  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <objects xmlns="http://www.springframework.net"><!--默认命名空间-->
  3. <object id="framework" type="Framework">
  4. <!--类名-->
  5. <property name="Name" value="Hello,China"/>
  6. <!--属性名称,值-->
  7. </object>
  8. <!-- 页面对象 -->
  9. <object type="~/Index.aspx">
  10. <!-- ref 表示引用的对象 -->
  11. <property name="FrameworkName" ref="framework"/>
  12. <!--Index.aspx页面的属性名称-->
  13. </object>
  14. </objects>

将原来在 Web.config 中配置的 objects 配置节删除,将原来 context 配置节中的配置替换为如下的内容。

  1. <context>
  2. <resource uri="~/Config/objects.xml"/>
  3. <!--<resource uri="config://spring/objects"/>-->
  4. </context>

6、重新浏览Index.aspx

17、ASP.NET MVC入门到精通——Spring.net入门的更多相关文章

  1. 25、ASP.NET MVC入门到精通——Spring.net-业务层仓储

    本系列目录:ASP.NET MVC4入门到精通系列目录汇总 上一节,我们已经把项目框架的雏形搭建好了,那么现在我来开始业务实现,在业务实现的过程当中,不断的来完善我们现有的框架. 1.假设我们来做一个 ...

  2. Android Studio2.0 教程从入门到精通Windows版 - 入门篇

    http://www.open-open.com/lib/view/open1468121363300.html 本文转自:深度开源(open-open.com)原文标题:Android Studio ...

  3. [转]ASP.NET MVC 5 学习教程:快速入门

    本教程将使用Visual Studio 2013手把手教你构建一个入门的ASP.NET MVC5 Web应用程序.本教程配套的C#源码工程可通过如下网址下载:C#版本源码链接.同时,请查阅 Build ...

  4. ASP.NET MVC 5 学习教程:快速入门

    起飞网 ASP.NET MVC 5 学习教程目录: 添加控制器 添加视图 修改视图和布局页 控制器传递数据给视图 添加模型 创建连接字符串 通过控制器访问模型的数据 生成的代码详解 使用 SQL Se ...

  5. 2、ASP.NET MVC入门到精通——Entity Framework入门

    实体框架(Entity Framework)简介 简称EF 与ADO.NET关系 ADO.NET Entity Framework 是微软以 ADO.NET 为基础所发展出来的对象关系对应 (O/R ...

  6. nginx在asp.net mvc项目中 配置 初步快速入门

    nginx 官方下载地址 http://nginx.org/en/download.html 一般.net项目要运行在IIS环境下,自然选择windows版下载 我这里下载了nginx/Windows ...

  7. Android开发 Android Studio2.0 教程从入门到精通Windows版 - 入门篇

    第一篇 介绍了Android Studio开发环境以及Genymotion虚拟机安装方法,本节将给大家介绍如何使用Android Studio开发应用. 开发第一应用 可以开发属于自己的应用,是否有点 ...

  8. ASP.NET MVC4入门到精通系列目录汇总

    序言 最近公司在招.NET程序员,我发现好多来公司面试的.NET程序员居然都没有 ASP.NET MVC项目经验,其中包括一些工作4.5年了,甚至8年10年的,许多人给我的感觉是:工作了4.5年,We ...

  9. ASP.NET MVC4入门到精通系列目录汇总(转)

    序言 最近公司在招.NET程序员,我发现好多来公司面试的.NET程序员居然都没有 ASP.NET MVC项目经验,其中包括一些工作4.5年了,甚至8年10年的,许多人给我的感觉是:工作了4.5年,We ...

随机推荐

  1. Chart.js中文文档-雷达图

    雷达图或蛛网图(Radar chart) 简介 A radar chart is a way of showing multiple data points and the variation bet ...

  2. Box Model,边距折叠,内联和块标签,CSSReset

    一.盒子模型(Box Model) 1.1.宽度测试 1.2.溢出测试 1.3.box-sizing属性 1.4.利用CSS画图 二.边距折叠 2.1.概要 2.2.垂直方向外边距合并计算 三.内联与 ...

  3. AngularJS表单验证实现方法详解

    本文主要是通过源码实例和大家分享AngularJS中的表单验证相关知识,希望通过本文的分享,对大家学习AngularJS有所帮助. 1.常规表单验证: 2.AngularJs中提供的表单验证实例. 实 ...

  4. Unity 文件读取

    存储: 在程序发布后文件的存放有两种,第一种是打包到Uniyt的资源包中(*.unity3D),第二种就是把文件存放在一个特殊的目录如:StreamingAssets,这个目录的东西Unity不会打包 ...

  5. AngularJS之Scope及Controller(一)

    前言 之前有接触过基本的AngularJS,未过多涉及,于是乎本系列我们来着重讲讲AngularJS,对AngularJS中重要的几大内容进行梳理并进行一些小的例子的书写.在之前项目过程中用到过ava ...

  6. CSS样式之优先级

    说到到css的样式优先级,今天偶再来回顾下,从css的样式优先级可分为两个部分: 1.从CSS代码放置的位置看权重优先级:     内联样式 > 内部嵌入样式 >外联样式 2.从样式选择器 ...

  7. 关于在BAE上部署ThinkPHP框架的问题

    现在有点小兴奋,因为在在BAE上部署ThinkPHP框架的问题快折腾一天了,午觉都没睡,不过没白整总算有点结果.不扯淡了,直入正题吧. 之前熟悉ThinkPHP框架,想在BAE上用ThinkPHP做点 ...

  8. Visual Studio常用小技巧一:代码段+快捷键+插件=效率

    用了visual studio 5年多,也该给自己做下备忘录了.每次进新的组换新的电脑,安装自己熟悉的环境又得重新配置,不做些备忘老会忘记一些东西.工具用的好,效率自然翻倍. 1,代码段 在Visua ...

  9. Redis碎碎念

    1. 关于Cluster cluster_known_nodes:4 cluster_size:3 说明集群中总共有4个节点:集群的size是3,相当于3个主节点参与了槽位分配 2. 如何查看key的 ...

  10. C++ 与 php 的交互 之----- C++ 异步获取 网页文字内容,异步获取 php 的 echo 值。

    已搬迁至 http://www.cnblogs.com/linguanh/p/4543836.html