{"id":13407738,"url":"https://github.com/spring-projects/spring-net","last_synced_at":"2025-05-14T16:11:53.225Z","repository":{"id":901128,"uuid":"2198652","full_name":"spring-projects/spring-net","owner":"spring-projects","description":"Spring Framework for .NET","archived":false,"fork":false,"pushed_at":"2025-03-29T10:01:39.000Z","size":125942,"stargazers_count":858,"open_issues_count":8,"forks_count":377,"subscribers_count":139,"default_branch":"main","last_synced_at":"2025-04-05T19:07:49.107Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://www.springframework.net","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/spring-projects.png","metadata":{"files":{"readme":"README.md","changelog":"changelog.txt","contributing":null,"funding":".github/FUNDING.yml","license":"license.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["lahma"]}},"created_at":"2011-08-12T18:48:25.000Z","updated_at":"2025-04-04T02:25:30.000Z","dependencies_parsed_at":"2025-01-16T18:20:57.196Z","dependency_job_id":null,"html_url":"https://github.com/spring-projects/spring-net","commit_stats":{"total_commits":1741,"total_committers":52,"mean_commits":33.48076923076923,"dds":0.7260195290063183,"last_synced_commit":"b9372c8d7efe67e0fc508257b45f73b753e13beb"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spring-projects%2Fspring-net","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spring-projects%2Fspring-net/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spring-projects%2Fspring-net/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spring-projects%2Fspring-net/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/spring-projects","download_url":"https://codeload.github.com/spring-projects/spring-net/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248631670,"owners_count":21136554,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-30T20:00:48.314Z","updated_at":"2025-05-14T16:11:53.197Z","avatar_url":"https://github.com/spring-projects.png","language":"C#","readme":"[![Build](https://github.com/spring-projects/spring-net/actions/workflows/ci.yml/badge.svg)](https://github.com/spring-projects/spring-net/actions/workflows/ci.yml)\r\n\r\n\r\nTHE SPRING.NET FRAMEWORK\r\n---------------------------------------------------------\r\nhttp://www.springframework.net/\r\n\r\n## INTRODUCTION\r\n\r\nSpring.NET contains:\r\n\r\n* A full featured Inversion of Control container\r\n* An Aspect Oriented Programming framework\r\n* Expression Language for lightweight scripting\r\n* UI-agnostic validation framework\r\n* ASP.NET Framework\r\n    * Dependency Injection for pages and user controls, bi-directional data binding, and more.\r\n* ASP.NET MVC and ASP.NET WebAPI Framework\r\n    * Dependency Injection for MVC (includin WebAPI).\r\n* Declarative transaction management abstraction\r\n    * Declarative transaction management via use of common XML configuration and attributes across different transaction\r\n      APIs\r\n* ADO.NET framework\r\n    * Simplifies use of ADO.NET. DAO support classes and integration with Spring's declarative transaction management\r\n      functionality\r\n* Portable Service Abstractions\r\n    * Export plain .NET objects via .NET Remoting, Web Service or .NET Serviced Component and create client side proxies\r\n      based on endpoint URL and service interface.\r\n* NHibernate Integation\r\n    * NHibernate 5 integration to simplify use of NHibernate and participate in Spring's declarative transaction\r\n      management functionality.\r\n* ASP.NET AJAX Integration\r\n    * Exporter to expose plain object on which Dependency Injection and AOP have been applied to JavaScript.\r\n* NUnit and MSTest integration\r\n    * Provides Dependency Injection of test cases and Spring container loading and caching. . Data access and\r\n      transaction management features aid with integration testing.\r\n* WCF integration\r\n    * Provides Dependency Injection and applicatin of AOP advice to WCF services\r\n* Quartz integration\r\n    * Configure Quartz jobs using dependency injection and Spring's transactional support to persist job details\r\n* MSMQ integration\r\n    * Simplifies the use MSMQ by providing helper classes for message sending and receiving. Integrates with Spring's\r\n      transaction management features.\r\n* NMS integration\r\n    * Simplifies the use of NMS by providing helper classes for message sending and receiving.\r\n* TIBCO EMS integration\r\n    * Simplifies the use of TIBCO EMS by providing helper classes for message sending and receiving.\r\n* NVelocity integration\r\n    * Simplifies the use of configuring NVelocity\r\n\r\nSpring.NET is a port of the Java based Spring Framework. In turn, the Java/J2EE Spring Framework is based on code\r\npublished in \"Expert One-on-One J2EE Design and Development\" by Rod Johnson (Wrox, 2002).\r\n\r\n## SUPPORTED .NET FRAMEWORK VERSIONS\r\n\r\nSpring.NET 3.0.0 supports .NET 4.6.2 and .NET Standard 2.0 and later.\r\n\r\n## KNOWN ISSUES\r\n\r\n\u003cnone\u003e\r\n\r\n## RELEASE INFO\r\n\r\nRelease contents:\r\n\r\n* `src` contains the C# source files for the framework\r\n* `test` contains the C# source files for Spring.NET's test suite\r\n* `bin` contains various Spring.NET distribution dll files\r\n* `lib/Net` contains shared third-party libraries needed for building the framework\r\n* `doc` contains reference documentation, MSDN-style API help, and the Spring.NET xsd.\r\n* `examples` contains sample applications.\r\n* `build-support` contains additonal applications need to build using NAnt as some convenience\r\n  VS.NET solution files.\r\n* `dev-support` contains 'developer support' tools and code, such as solution templates for VS.NET\r\n\r\ndebug build is done using /DEBUG:full and release build using /DEBUG:pdbonly flags.\r\n\r\nThe VS.NET solution for the framework and examples are provided.\r\n\r\nLatest info is available at the public website: http://www.springframework.net/\r\n\r\nThe Spring Framework is released under the terms of the Apache Software License (see license.txt).\r\n\r\n## DISTRIBUTION DLLs\r\n\r\nThe \"bin\" directory contains the following distinct dll files for use in applications. Dependencies are those other than\r\non the .NET BCL.\r\n\r\n* __Spring.Core__ (~765\r\n  KB) [![NuGet](http://img.shields.io/nuget/v/Spring.Core.svg)](https://www.nuget.org/packages/Spring.Core/) [![Downloads](https://img.shields.io/nuget/dt/Spring.Core)](#)\r\n    * Contents: Inversion of control container. Collection classes.\r\n    * Dependencies: Common.Logging\r\n\r\n* __Spring.Aop__ (~150\r\n  KB) [![NuGet](http://img.shields.io/nuget/v/Spring.Aop.svg)](https://www.nuget.org/packages/Spring.Aop/) [![Downloads](https://img.shields.io/nuget/dt/Spring.Aop)](#)\r\n    * Contents: Abstract Oriented Programming Framework.\r\n    * Dependencies: Spring.Core, Common.Logging\r\n\r\n* __Spring.Data__ (~320\r\n  KB) [![NuGet](http://img.shields.io/nuget/v/Spring.Data.svg)](https://www.nuget.org/packages/Spring.Data/) [![Downloads](https://img.shields.io/nuget/dt/Spring.Data)](#)\r\n    * Contents: Transaction and ADO.NET Framework.\r\n    * Dependencies: Spring.Core, Spring.Aop\r\n\r\n* __Spring.Data.NHibernate5__ (~90\r\n  KB) [![NuGet](http://img.shields.io/nuget/v/Spring.Data.NHibernate5.svg)](https://www.nuget.org/packages/Spring.Data.NHibernate5/) [![Downloads](https://img.shields.io/nuget/dt/Spring.Data.NHibernate5)](#)\r\n    * Contents: NHibernate 5.x integration\r\n    * Dependencies: Spring.Core, Spring.Aop, Spring.Data, NHibernate\r\n\r\n* __Spring.Services__ (~70\r\n  KB) [![NuGet](http://img.shields.io/nuget/v/Spring.Services.svg)](https://www.nuget.org/packages/Spring.Services/) [![Downloads](https://img.shields.io/nuget/dt/Spring.Services)](#)\r\n    * Contents: Web Services, Remoting, and Enterprise Component based services.\r\n    * Dependencies: Spring.Core, Spring.Aop\r\n\r\n* __Spring.Web__ (~165\r\n  KB) [![NuGet](http://img.shields.io/nuget/v/Spring.Web.svg)](https://www.nuget.org/packages/Spring.Web/) [![Downloads](https://img.shields.io/nuget/dt/Spring.Web)](#)\r\n    * Contents: ASP.NET based Web Application Framework.\r\n    * Dependencies: Spring.Core, Spring.Aop\r\n\r\n* __Spring.Web.Extensions__ (~8\r\n  KB) [![NuGet](http://img.shields.io/nuget/v/Spring.Web.Extensions.svg)](https://www.nuget.org/packages/Spring.Web.Extensions/) [![Downloads](https://img.shields.io/nuget/dt/Spring.Web.Extensions)](#)\r\n    * Contents: ASP.NET AJAX Integartion\r\n    * Dependencies: Spring.Core, Spring.Aop, System.Web.Extensions\r\n\r\n* __Spring.Web.Mvc5__ (~8\r\n  KB) [![NuGet](http://img.shields.io/nuget/v/Spring.Web.Mvc5.svg)](https://www.nuget.org/packages/Spring.Web.Mvc5/) [![Downloads](https://img.shields.io/nuget/dt/Spring.Web.Mvc5)](#)\r\n    * Contents: ASP.NET MVC5 and WebAPI Integartion\r\n    * Dependencies: Spring.Core, Spring.Web\r\n\r\n* __Spring.Testing.NUnit__ (~24\r\n  KB) [![NuGet](http://img.shields.io/nuget/v/Spring.Testing.NUnit.svg)](https://www.nuget.org/packages/Spring.Testing.NUnit/) [![Downloads](https://img.shields.io/nuget/dt/Spring.Testing.NUnit)](#)\r\n    * Contents: NUnit Integration\r\n    * Dependencies: Spring.Core, Spring.Data, NUnit\r\n\r\n* __Spring.Testing.Microsoft__ (~24\r\n  KB) [![NuGet](http://img.shields.io/nuget/v/Spring.Testing.Microsoft.svg)](https://www.nuget.org/packages/Spring.Testing.Microsoft/) [![Downloads](https://img.shields.io/nuget/dt/Spring.Testing.Microsoft)](#)\r\n    * Contents: MSTest Integration\r\n    * Dependencies: Spring.Core, Spring.Data, MSTest\r\n\r\n* __Spring.Messaging__ (~65\r\n  KB) [![NuGet](http://img.shields.io/nuget/v/Spring.Messaging.svg)](https://www.nuget.org/packages/Spring.Messaging/) [![Downloads](https://img.shields.io/nuget/dt/Spring.Messaging)](#)\r\n    * Contents: MSMQ Integration\r\n    * Dependencies: Spring.Core, Spring.Data, System.Messaging\r\n\r\n* __Spring.Messaging.Nms__ (~100\r\n  KB) [![NuGet](http://img.shields.io/nuget/v/Spring.Messaging.Nms.svg)](https://www.nuget.org/packages/Spring.Messaging.Nms/) [![Downloads](https://img.shields.io/nuget/dt/Spring.Messaging.Nms)](#)\r\n    * Contents: NMS Integration\r\n    * Dependencies: Spring.Core, Spring.Data, Apache NMS\r\n\r\n* __Spring.Scheduling.Quartz3__ (~44\r\n  KB) [![NuGet](http://img.shields.io/nuget/v/Spring.Scheduling.Quartz3.svg)](https://www.nuget.org/packages/Spring.Scheduling.Quartz3/) [![Downloads](https://img.shields.io/nuget/dt/Spring.Scheduling.Quartz3)](#)\r\n    * Contents: Quartz32.x Integration\r\n    * Dependencies: Spring.Core, Spring.Data, Quartz\r\n\r\n* __Spring.Template.Velocity__ (~44\r\n  KB) [![NuGet](http://img.shields.io/nuget/v/Spring.Template.Velocity.svg)](https://www.nuget.org/packages/Spring.Template.Velocity/) [![Downloads](https://img.shields.io/nuget/dt/Spring.Template.Velocity)](#)\r\n    * Contents: NVelocity Integration\r\n    * Dependencies: Spring.Core, NVelocity\r\n\r\n## WHERE TO START?\r\n\r\nDocumentation can be found in the \"docs\" directory:\r\n\r\n* The Spring reference documentation\r\n\r\nDocumented sample applications can be found in \"examples\":\r\n\r\n* IoCQuickStart.MovieFinder - A simple example demonstrating basic IoC container behavior.\r\n* IoCQuickStart.AppContext - Show use of various IApplicationContext features.\r\n* IoCQuickStart.EventRegistry - Show use of loosely coupled eventing features.\r\n* AopQuickStart - Show use of AOP features.\r\n* CachingQuickStart - Show use of Caching abstraction.\r\n* SpringAir - Show use of Spring.Web features.\r\n* Calculator - Show use of Spring.Services features.\r\n* WebQuickStart - Show step by step usage of Spring.Web features.\r\n* Web.Extensions.Example - Show ASP.NET AJAX integartion.\r\n* DataQuickStart - Show use of Spring.Data data access features.\r\n* TxQuickStart - Show use of Spring's transaction features.\r\n* Data.NHibernate.Northwind - Show use of Spring's NHibernate features.\r\n* WCFQuickStart - Show use of DI and AOP with WCF\r\n* NMSQuickStart - Sample application using NMS\r\n* MSMQ QuickStart - Sample application using MSMQ\r\n* Quartz Example - Scheduling using Quartz\r\n* Mvc5QuickStart - Show the configuration of the ASP.NET MVC 5 support\r\n\r\n## How to build\r\n\r\nVS.NET\r\n------\r\n\r\nVisual Studio 2022 is required to open and build the solution. The free community version of Visual Studio should\r\nsuffice.\r\n\r\n### Running tests\r\n\r\n- To run tests that require a database connection, you need:\r\n    - SqlServer running in (local)\r\n      - Check in `SQL Server Configuration Manager` that `Named Pipes` and `TCP/IP` protocols are enabled\r\n    - From `build-support` execute \r\n\t    - `create-integration-test-databases-and-users.sql` \r\n    - From `\\test\\Spring\\Spring.Data.Integration.Tests\\Data` execute \r\n\t    - `Spring.Data.Integration.Tests_Spring_database.sql`\r\n\t    - `Spring.Data.Integration.Tests_Credits_database.sql`\r\n\t    - `Spring.Data.Integration.Tests_Debits_database.sql`\r\n\t    - `Spring.Data.Integration.Tests_CreditsAndDebits_database.sql`\r\n    - Create a database named `quartz` and execute `tables_sqlServer_Below2016.sql` from [Quartz.NET](https://github.com/quartznet/quartznet/blob/main/database/tables/tables_sqlServer_Below2016.sql)\r\n\r\n\r\n## Acknowledgements\r\n\r\nInnovaSys Document X!\r\n---------------------\r\nInnovSys has kindly provided a license to generate the SDK documentation and supporting utilities for\r\nintegration with Visual Studio.\r\n","funding_links":["https://github.com/sponsors/lahma"],"categories":["Application Frameworks","应用框架","应用框架（Application Frameworks）","C\\#","面试","IoC"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspring-projects%2Fspring-net","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspring-projects%2Fspring-net","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspring-projects%2Fspring-net/lists"}