Spring.NET 学习笔记

  早就想学习Spring.NET的。个人习惯喜欢直接学习原始资料,所以就直接从源码开始。利用Git从Github上获取sping.net的源码。然后根据里面的资料开始学习。

  从Readme(spring-net eadme.txt)开始。虽然不难读懂,但还是翻译一下。

SPRING.NET FRAMEWORK 预发布版2.0.0说明。

http://www.springframework.net/

一 介绍

包含如下功能:

1 提供完善的控制反转容器

2 提供面向侧面编程的框架

3 Expression Language for lightweight scripting

4 与UI解耦的验证框架

5 ASP.NET Framework

- 提供以下元素的依赖注入:页面、自定义控件、单向数据绑定。。。

6 ASP.NET MVC和ASP.NET WebAPI Framework

- 提供MVC3和MVC4的依赖注入

7 通过使用通用 XML配置和属性支持对不同事务API的事务声明管理

8 简化了ADO.NET的使用。DAO支持类和Spring式的事务管理功能的集成

9 对服务的抽象

- 根据.NET Remoting,Web Service 或者.NET 服务组件输出.NET对象。并且创建基于endpoint URL和服务接口的客户端代理。

10 NHibernate 3.2和.3.3 集成了简化NHibernate和事务声明管理

11 Exporter能为被应用于JavaScript的依赖注入或者AOP暴露统一对象

12 NUit 和 MSTest的集成

- 提供依赖注入的测试案例和Sping 容器的加载器和缓存。。。数据访问和事务管理特性有助于集成测试

13 WCF 的集成。 -  提供了依赖注入和应用AOP通知WCF服务

14 集成了Quarzt 。通过使用依赖注入和Spring事务支持配置任务调度

15 集成了MSMQ。通过提供帮助类完成消息的发送和接收来简化MSMQ的使用。集成了Spring事务管理特性。

16 集成NMS。通过提供帮助类完成消息的发送和接收来简化NMS的使用

17 集成TIBCO EMS。

18 集成NVelocity。简化了配置过程

Spring.NET 是基于Java的Sping框架的一个端口。Java/J2EE Spring 框架则是基于Rod Johnson(Wrox,2002)发布的“Expert One-on-One J2EE Design and Development”的代码。

二 支持的.NET FRAMEWORK 版本

Spring.NET 2.0.0 支持.NET3.5和4.0。在目录bin

net3.5和bin et4.0中分别放置了对应.NET 3.5 和 4.0的Dll

三  已知的问题

 暂无

四 发布信息

发布的内容:

1 "src" 包含c#的源代码

2 "test"包含测试Sping.NET的代码

3 “lib/Net”包含Sping框架依赖的第三方库

4 "lib/NHibernate31"包含NHibernate 3.2的Dlls

5 "lib/NHbernate32 "包含NHibernate 3.3的Dlls

6 "doc"包含被引用的文档,MSDN风格的帮助,以及Sping.NET的xsd

7 “examples”包含的应用

8 "build-support"额外的应用用来帮助NAnt便捷的构建框架

9 "dev-support"包含帮助开发的工具和代码,比如VS的项目模板

调试版本使用/DEBUG:full,发布版本使用/DEBUG:pdbonly 标志

五 Dll的分布

“bin”目录包含应用程序中用到的dll。 Dependencies are those other than on the .NET BCL.(不知道准确意思。。。)

“Spring.Core”)(765kb)

-包含:控制反转容器。集合类

-依赖:Common.Logging

"Spring.Aop"(150kb)

-包含:面向切面编程框架

-依赖:Spring.Core,Common.Logging

“Spring.Data”(320kb)

-包含:事务和ADO.NET框架

-依赖:Sping.Core,Sping.Aop

“Spring.Data.NHibernate32”(90kb)

-包含:NHibernate3.2的集成

-依赖:Sping.Core,Spring.Aop,Spring.Data,NHibernate

“Spring.Data.NHibernate33”(90kb)

-包含:NHibernate3.3的集成

-依赖:Spring.Core,Spring.Aop,Spring.Data,NHibernate

“Spring.Serbvices”(70kb)

-包含:Web Services,Remoting,和基于服务的企业级组件

-依赖:Spring.Core,Spring.Aop

“Spring.Web”(165kb)

-包含:基于ASP.NET的应用框架

-依赖:Spring.Core,Spring.Aop,System.Web.Extensions

“Spring.Web.Mvc”(8kb)

-包含:ASP.NET MVC2的集成

-依赖:Spring.Core,Spring.Web

“Spring.Web.Mvc3”(8kb)

-包含:ASP.NET MVC3的集成

-依赖:Spring.Core,Spring.Web

“Spring.Web.Mvc4”(8kb)

-包含:ASP.NET MVC4 和WebAPI的集成

-依赖:Spring.Core,Spring.Web

“Spring.Testing.NUnit”(24kb)

-包含:NUnit的集成

-依赖:Spring.Core,Spring.Data,NUit

“Spring.Testing.Microsoft”(24kb)

-包含:MSTest 的集成

-依赖:Spring.Core,Spring.Data,MSTest

“Spring.Messaging”(65kb)

-包含:MSMQ的集成

-依赖:Spring.Core,Spring.Data,System.Messaging

“Spring.Messaging.Nms”(100kb)

-包含:NMS 的集成

-依赖:Spring.Core,Spring.Data,Apache NMS

“Spring.Scheduling.Quqrtz”(44kb)

-包含:Quartz 1.0的集成

-依赖:Spring.Core,Spring.Data,Quartz

“Spring.Data”(44kb)

-包含:NVelocity的集成

-依赖:Spring.Core,NVelocity

 六 如何开始?

文档可以在"docs"目录中找到Spring参考文档

有文档参考的应用可以在“examples”中找到:

1 IoCQuickStart.MovieFinder。一个简单的事例用来展示Ioc容器的行为

2 IoCQuickStart.AppContext。展示各个IApplicationContext特性

3 IoCQuickStart.EventRegistry。展示松耦合事件处理特性

4 AopQuickStart。显示AOP特性

5 CachingQuickStart 。展示告诉缓存的抽象

6 SpringAir。展示Spring.Web的特性

7 Calculator 。展示Spring.Services的特性

8 WebQuickStart。展示如何一步一步的使用Spring.Web的特性

9 Web.Extensions.Example。展示ASP.NET AJAX的集成

10 DataQuickStart。展示Spring.Data的数据访问特性

11 TxQuickStart。展示Spring事务特性

12 Data.NHibernate.Northwind。展示如Spring的NHibernate特性

13 WCFQuickStart。展示如何通过WCF使用DI和AOP

14 NMSQuickStart。使用NMS的简单应用

15 MSMQ QuickStart。应用MSMQ的简单应用

16 MvcQuickStart。展示如何配置Mvc2支持

17 Mvc3QuickStart。展示如何配置Mvc3支持

18 Mvc4QuickStart。展示如何配置Mvc4支持

七 如何构建

使用VS.NET:

有两个版本的解决方案文件

VS.NET2008 使用Spring.Net.2008.sln

VS.NET2010S使用Spring.Net.2010.sln

注意:

如果在 使用Vista/Win7 上开启了UAC。你可能会遇到类似如下错误,

"C:Spring.NetSpring.NET-1.3.2Spring.NET estSpringSpring.Core.TestsSpring.Core.Tests.dll.config"
........uildVS.Net.2008Spring.Core.TestsDebug /y /s /q-Command exited with Code 9009. Spring.Core.Tests.2008

你需要以管理员身份运行Visual Studio

使用NAnt:

在开始构建前你需要安装ASP.NET2,3和4。这是因为不能够在分发(不知道这么翻译合适不。。。)

ASP.NET 的Dll

构建所用脚本已经包含在下载的包中。

构建源代码和运行单元测试类,搭建测试

如果你需要构建强签名程序集,你可以通过如下命令生成秘钥(假设sn.exe路径正确),

sn -k Spring.Net.snk

你需要将Spring.NET.snk文件放到源代码文件夹得根目录中。当你执行如下命令时所有构建都将被强命名,

nant -D:project.build.sing=true

InnovaSys Document X!是用来生成SDK文档的

八  支持

在 Http://forum.springframework.net/ 论坛你可以提交问题,请求帮助,并且可以和其他Spring.NET用户交流。可以。

可以在http://fisheye.springframework.org/browse/spring-net上找到bug和问题跟踪。

可以在https://fisheye.springframework.org/browse/spring-net浏览代码库。

可以在github上获得源码https://github.com/SpringSource/spring-net。

我们总是乐于接受在论坛上的反馈。如果你认为你发现了一个bug,有改进建议或功能请求,请在JIRA上提交(见上面的链接)

在您提交bug前,如果可能,首先在http://www.springframework.net/downloads/nightly/上下载快照,查看bug是否已经被

修复。如果问题依旧存在,不要忘了提及您所使用的Spring.NET版本,并且告诉我们如何重现问题。更加理想的是

附加一些代码在JIRA上。

九 致谢

InnovaSys Document X!

InnovSys 慷慨的提供了一个许可证,让我们能够生成SDK文档以及集成于Visual Studio的配套设施

  

  这个文档已经为学习Spring.NET指明了明确的方向。接下来的工作:

1 结合“doc”里面的文档逐个看懂“examples”下的18个demo。大致知道“src”里的每个项目能够做什么

2 逐个分析“src”里的项目代码

3 了解nant

4 如果遇到以前没有涉及到的技术需要查阅资料作为学习分支

原文地址:https://www.cnblogs.com/MagicJie/p/3611299.html