第一个Spring.NET程序

 

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

Spring.NET程序的更多相关文章

  1. 第一章 第一个spring boot程序(转载)

    第一章 第一个spring boot程序 本编博客转发自:http://www.cnblogs.com/java-zhao/p/5324185.html   环境: jdk:1.8.0_73 mave ...

  2. Spring MVC程序中得到静态资源文件css,js,图片

    转载自:http://www.blogjava.net/fiele/archive/2014/08/24/417283.html 用 Spring MVC 开发应用程序,对于初学者有一个很头疼的问题, ...

  3. Spring MVC程序中得到静态资源文件css,js,图片文件的路径问题总结

    上一篇 | 下一篇 Spring MVC程序中得到静态资源文件css,js,图片 文件的路径 问题总结 作者:轻舞肥羊 日期:2012-11-26 http://www.blogjava.net/fi ...

  4. 第一个Spring MVC程序

    最近公司项目要开始使用Spring MVC替代Struts2了,就学习了一下Spring MVC的使用.这是第一个Spring mvc程序,分别使用xml和注解两种方式. 一.使用xml格式进行构建 ...

  5. Spring MVC程序

    Spring MVC程序(IDEA开发环境)   回顾Java平台上Web开发历程来看,从Servlet出现开始,到JSP繁盛一时,然后是Servlet+JSP时代,最后演化为现在Web开发框架盛行的 ...

  6. Spring MVC 程序首页的设置 - 一号门-程序员的工作,程序员的生活(java,python,delphi实战)

    body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...

  7. 我的第一个spring boot程序(spring boot 学习笔记之二)

    第一个spring boot程序 写在前面:鉴于spring注解以及springMVC的配置有大量细节和知识点,在学习理解之后,我们将直接进入spring boot的学习,在后续学习中用到注解及其他相 ...

  8. 搭建Spring开发环境并编写第一个Spring小程序

    搭建Spring开发环境并编写第一个Spring小程序 2015-05-27      0个评论    来源:茕夜   收藏    我要投稿 一.前面,我写了一篇Spring框架的基础知识文章,里面没 ...

  9. 编写简单的spring mvc程序,在tomcat上部署

    编写简单的spring mvc程序,在tomcat上部署 1 用java 配置spring mvc ,可以省去web.xmlpackage hello;import org.springframewo ...

随机推荐

  1. erlang shell表格数据对齐

    近期在erlang shell做一些測试,为了让測试结果数据显得更直观,想对齐须要打印的数据,做成像表格一样的效果. 開始的想法是在数据中插入tab. 当然,erlang也有对tab的支持,但实际效果 ...

  2. 数据市中心全省中国mysql脚本

    1.查尔斯省 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2h6aGFvY2hhbw==/font/5a6L5L2T/fontsize/400/fill ...

  3. 解决android3.0版本号以上应用接收不到开机广播问题

    如今是2014-07-16 下午15:27. 好久没写过东西,突然间灵感喷发想写点东西(事实上是刚刚弄好了一个棘手的问题,自豪中..呵呵呵呵 我牛掰).废话不多说,进入正题. 不知道你们又没有碰到这问 ...

  4. 冒泡排序算法(Java)

     冒泡排序即每次遍历.相邻数字间进行比較,前者大于后者进行交换,不断将最大值后移,直至沉至最后位置:算法关键要点在于确定每次循环的边界. 后面两种算法则是对冒泡排序一定程度上的改良,但相对于其它排 ...

  5. Git使用总结-so easy

    一.Git的特性 Speed 速度(git是用c语言写的.一般都是提交到本地) Simple design Strong support for non-linear development (tho ...

  6. DHCP Option 60 认识

    原文地址: http://blog.163.com/chenqioulin_1983/blog/static/83216232010109104430251/   首先还是看看RFC咋说的吧.DHCP ...

  7. HDU 2845 Beans (动态调节)

    Beans Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Subm ...

  8. 【转】HLSL基础

    原文地址http://blog.csdn.net/chpdirect1984/article/details/1911622 目录 前言 1.HLSL入门 1.1什么是着色器 1.2什么是HLSL 1 ...

  9. 设置函数环境——setfenv(转)

    当我们在全局环境中定义变量时经常会有命名冲突,尤其是在使用一些库的时候,变量声明可能会发生覆盖,这时候就需要一个非全局的环境来解决这问题.setfenv函数可以满足我们的需求. setfenv(f, ...

  10. T4模板合并js

    使用T4模板合并js文件 不知道该怎么表达,或许直接贴图贴代码更好 前因:在第一个使用angularjs的项目中我将所有的controller写到一个文件里面,深知维护起来那滋味,所以再次使用angu ...