百科.dev
全部条目AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
S

spring-net

> 编程语言
开源

适用于 .NET 的 Spring 框架

878 stars0 点赞0 次浏览
访问官网GitHub

工具介绍

适用于 .NET 的 Spring 框架

THE SPRING.NET FRAMEWORK

http://www.springframework.net/

INTRODUCTION

Spring.NET contains:

  • A full featured Inversion of Control container
  • An Aspect Oriented Programming framework
  • Expression Language for lightweight scripting
  • UI-agnostic validation framework
  • ASP.NET Framework
    • Dependency Injection for pages and user controls, bi-directional data binding, and more.
  • ASP.NET MVC and ASP.NET WebAPI Framework
    • Dependency Injection for MVC (includin WebAPI).
  • Declarative transaction management abstraction
    • Declarative transaction management via use of common XML configuration and attributes across different transaction APIs
  • ADO.NET framework
    • Simplifies use of ADO.NET. DAO support classes and integration with Spring's declarative transaction management functionality
  • Portable Service Abstractions
    • Export plain .NET objects via .NET Remoting, Web Service or .NET Serviced Component and create client side proxies based on endpoint URL and service interface.
  • NHibernate Integation
    • NHibernate 5 integration to simplify use of NHibernate and participate in Spring's declarative transaction management functionality.
  • ASP.NET AJAX Integration
    • Exporter to expose plain object on which Dependency Injection and AOP have been applied to JavaScript.
  • NUnit and MSTest integration
    • Provides Dependency Injection of test cases and Spring container loading and caching. . Data access and transaction management features aid with integration testing.
  • WCF integration
    • Provides Dependency Injection and applicatin of AOP advice to WCF services
  • Quartz integration
    • Configure Quartz jobs using dependency injection and Spring's transactional support to persist job details
  • MSMQ integration
    • Simplifies the use MSMQ by providing helper classes for message sending and receiving. Integrates with Spring's transaction management features.
  • NMS integration
    • Simplifies the use of NMS by providing helper classes for message sending and receiving.
  • TIBCO EMS integration
    • Simplifies the use of TIBCO EMS by providing helper classes for message sending and receiving.
  • NVelocity integration
    • Simplifies the use of configuring NVelocity

Spring.NET is a port of the Java based Spring Framework. In turn, the Java/J2EE Spring Framework is based on code published in "Expert One-on-One J2EE Design and Development" by Rod Johnson (Wrox, 2002).

SUPPORTED .NET FRAMEWORK VERSIONS

Spring.NET 3.0.0 supports .NET 4.6.2 and .NET Standard 2.0 and later.

KNOWN ISSUES

RELEASE INFO

Release contents:

  • src contains the C# source files for the framework
  • test contains the C# source files for Spring.NET's test suite
  • bin contains various Spring.NET distribution dll files
  • lib/Net contains shared third-party libraries needed for building the framework
  • doc contains reference documentation, MSDN-style API help, and the Spring.NET xsd.
  • examples contains sample applications.
  • build-support contains additonal applications need to build using NAnt as some convenience VS.NET solution files.
  • dev-support contains 'developer support' tools and code, such as solution templates for VS.NET

debug build is done using /DEBUG:full and release build using /DEBUG:pdbonly flags.

The VS.NET solution for the framework and examples are provided.

Latest info is available at the public website: http://www.springframework.net/

The Spring Framework is released under the terms of the Apache Software License (see license.txt).

DISTRIBUTION DLLs

The "bin" directory contains the following distinct dll files for use in applications. Dependencies are those other than on the .NET BCL.

  • Spring.Core (~765 KB)

    • Contents: Inversion of control container. Collection classes.
    • Dependencies: Common.Logging
  • Spring.Aop (~150 KB)

    • Contents: Abstract Oriented Programming Framework.
    • Dependencies: Spring.Core, Common.Logging
  • Spring.Data (~320 KB)

    • Contents: Transaction and ADO.NET Framework.
    • Dependencies: Spring.Core, Spring.Aop
  • Spring.Data.NHibernate5 (~90 KB)

    • Contents: NHibernate 5.x integration
    • Dependencies: Spring.Core, Spring.Aop, Spring.Data, NHibernate
  • Spring.Services (~70 KB)

    • Contents: Web Services, Remoting, and Enterprise Component based services.
    • Dependencies: Spring.Core, Spring.Aop
  • Spring.Web (~165 KB)

    • Contents: ASP.NET based Web Application Framework.
    • Dependencies: Spring.Core, Spring.Aop
  • Spring.Web.Extensions (~8 KB)

    • Contents: ASP.NET AJAX Integartion
    • Dependencies: Spring.Core, Spring.Aop, System.Web.Extensions
  • Spring.Web.Mvc5 (~8 KB)

    • Contents: ASP.NET MVC5 and WebAPI Integartion
    • Dependencies: Spring.Core, Spring.Web
  • Spring.Testing.NUnit (~24 KB)

    • Contents: NUnit Integration
    • Dependencies: Spring.Core, Spring.Data, NUnit
  • Spring.Testing.Microsoft (~24 KB)

    • Contents: MSTest Integration
    • Dependencies: Spring.Core, Spring.Data, MSTest
  • Spring.Messaging (~65 KB)

    • Contents: MSMQ Integration
    • Dependencies: Spring.Core, Spring.Data, System.Messaging
  • Spring.Messaging.Nms (~100 KB)

    • Contents: NMS Integration
    • Dependencies: Spring.Core, Spring.Data, Apache NMS
  • Spring.Scheduling.Quartz3 (~44 KB)

    • Contents: Quartz32.x Integration
    • Dependencies: Spring.Core, Spring.Data, Quartz
  • Spring.Template.Velocity (~44 KB)

    • Contents: NVelocity Integration
    • Dependencies: Spring.Core, NVelocity

WHERE TO START?

Documentation can be found in the "docs" directory:

  • The Spring reference documentation

Documented sample applications can be found in "examples":

  • IoCQuickStart.MovieFinder - A simple example demonstrating basic IoC container behavior.
  • IoCQuickStart.AppContext - Show use of various IApplicationContext features.
  • IoCQuickStart.EventRegistry - Show use of loosely coupled eventing features.
  • AopQuickStart - Show use of AOP features.
  • CachingQuickStart - Show use of Caching abstraction.
  • SpringAir - Show use of Spring.Web features.
  • Calculator - Show use of Spring.Services features.
  • WebQuickStart - Show step by step usage of Spring.Web features.
  • Web.Extensions.Example - Show ASP.NET AJAX integartion.
  • DataQuickStart - Show use of Spring.Data data access features.
  • TxQuickStart - Show use of Spring's transaction features.
  • Data.NHibernate.Northwind - Show use of Spring's NHibernate features.
  • WCFQuickStart - Show use of DI and AOP with WCF
  • NMSQuickStart - Sample application using NMS
  • MSMQ QuickStart - Sample application using MSMQ
  • Quartz Example - Scheduling using Quartz
  • Mvc5QuickStart - Show the configuration of the ASP.NET MVC 5 support

How to build

VS.NET

Visual Studio 2022 is required to open and build the solution. The free community version of Visual Studio should suffice.

Running tests

  • To run tests that require a database connection, you need:
    • SqlServer running in (local)
      • Check in SQL Server Configuration Manager that Named Pipes and TCP/IP protocols are enabled
    • From build-support execute
      • create-integration-test-databases-and-users.sql
    • From \test\Spring\Spring.Data.Integration.Tests\Data execute
      • Spring.Data.Integration.Tests_Spring_database.sql
      • Spring.Data.Integration.Tests_Credits_database.sql
      • Spring.Data.Integration.Tests_Debits_database.sql
      • Spring.Data.Integration.Tests_CreditsAndDebits_database.sql
    • Create a database named quartz and execute tables_sqlServer_Below2016.sql from Quartz.NET

Acknowledgements

InnovaSys Document X!

InnovSys has kindly provided a license to generate the SDK documentation and supporting utilities for integration with Visual Studio.

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

C#

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言