Welcome to the home of Spring.NET.

Led and sustained by SpringSource, Spring.NET is an open source application framework that makes building  enterprise .NET applications easier.  Providing components based on proven design patterns that can be integrated into all tiers of your application architecture, Spring helps increase development productivity and improve application quality and performance.  

Please read the overview for additional information.

NEW: Spring.NET 1.3.0 GA released on Dec. 17, 2009!

Commercial support and training are available through SpringSource.

ANNOUNCEMENT: SpringSource is pleased to offer public training for Spring.NET. Current training dates are:

During this four-day bootcamp you learn how to use the Spring.NET Framework to create well-designed, testable business applications in an agile manner. See the syllabus for detailled course information

Refer to the SpringSource University Training Page for more information on SpringSource training offerings or to contact us. 

USER GROUP MEETING:  Milan Negovan spoke at the Long Island .NET Users Group on Inversion of Control and Dependency Injection with Spring.NET.  Code available here.

[2009-1-8]
FEATURED BLOG:  Erich Eichinger has posted several interesting blog articles on AOP, Application Monitoring and code based configuration of DI/AOP with Spring.NET.  

Here is a 'sneak peak' of the code based configuration using the classic MovieFinder example. A variation on this DI configuration style will be part of the Spring.NET 2.0 release.

[Configuration]
public class MovieFinderConfiguration
{
public virtual IMovieFinder MovieFinder()
{
return new MovieFinder();
}

public virtual IMovieLister MovieLister()
{
return new MovieLister( MovieFinder() )
}
}

As close to what you would have written in 'normal' code to configure the two objects.  Note, this code is external to your code, just like XML files are external to your code, therefore non-invasive.

This approach is taken from the Spring JavaConfig project, based on an idea from Rod Johnson.  This approach has matured and is included an a DI configuration option in the Spring Java 3.0 release. (blog, docs)

Please see Erich's blog for more details.


[2010-1-8]
ANNOUNCEMENT:

Dear Spring Community,

We are pleased to announce that Spring .NET 1.3.0 is now available.  

Download | SupportDocumentationCommunity

This release contains the following new major features:
  • Micosoft Test Framework integration - Integration test classes to support MSTest in addition to NUnit.
  • TIBCO EMS integration - Helper classes to increase your productivity developing messaging based applications with TIBCO EMS.
  • NVelocity integration - Helper classes to configure a NVelocity template engine in a Spring based application
  • VS.NET Solution Templates - VS.NET 2008 based solution templates to get you up and running quickly creating Spring based applications.
  • DI support for Enterprise Service Components
Other notable new features:
Please refer to the changelog for additional details.

Looking forward to a quick 1.3.1 release and then Spring.NET 2.0. Please register your feature suggestions in JIRA.

Check out Erich Eichingers's blog for a preview of code based configuration (no XML).

Happy Holidays!

[2009-12-17]
ARTICLE:  Milan Negovan has written an article entitled "Real-World Inversion of Control and Dependency Injection with WebForms"  using Spring.NET.  Check it out!

[2009-11-21]
PROJECT NEWS: The Spring.NET 1.3 GA release is scheduled for December 15th 2009.  Thanks for your patience.

[2009-11-21]
PROJECT INFRASTRUCTURE UPDATED:  Bamboo is now being used as the Spring.NET Continuous Integration Server.  There is integration between Bamboo, JIRA, and  Fisheye allowing you to navigate between the various views of the projects easily.

[2009-11-04]
FEATURED BLOG:   Tom Farnbauer blogged about his recent release of Recoil 1.1.0, a fluent interface extension for Spring.NET

[2009-10-10]
UPCOMING EVENT:   "Inversion of Control (IoC) and Dependency Injection for ASP.NET" by Milan Negovan at the Fairfield/Westchester .NET User Group on 10/1/2009.  Click here for more info.

[2009-9-29]
FEATURED BLOG:   Erich Eichinger blogged about some of the features of the new Spring.NET 1.3 RC.

[2009-08-07]
ANNOUNCEMENT:

Dear Spring Community,

We are pleased to announce that Spring .NET 1.3.0 RC1 is now available.  

Download | SupportDocumentationCommunity

This release contains the following new major features:
  • Micosoft Test Framework integration - Integration test classes to support MSTest in addition to NUnit.
  • TIBCO EMS integration - Helper classes to increase your productivity developing messaging based applications with TIBCO EMS.
  • NVelocity integration - Helper classes to configure a NVelocity template engine in a Spring based application
  • VS.NET Solution Templates - VS.NET 2008 based solution templates to get you up and running quickly creating Spring based applications.
  • DI support for Enterprise Service Components
Other notable new features:
This release includes approximately 100  bug fixes and enhancements since the 1.2.0 release. 

Please refer to the changelog for additional details.


Enjoy!

[2009-8-3]
RELEASE NEWS:

Spring.NET 1.3 RC1 is planned to be released on July 29th followed by a GA release on August 10th.

The release will contain all bug fixes that were scheduled for the 1.2.1 release as well as new features to support TIBCO messaging and integration testing support with Microsoft's testing framework. A few other new features such as NVelocity integration will also be included.

As most of the changs are derivative of existing features no milestone release is planned. Thanks for your patience is waiting for this release.

Please raise or vote for JIRA issues that you want to see included.

[2009-7-21]
CASE STUDY:

CMA Logo

Credit Market Analysis Makes Major Productivity Gains With Spring.NET

“Spring.NET has removed 30% of our development time, by providing the communication infrastructure between the layers of our software – and that 30% can now be focused on new features or speed to market.”

“With Spring.NET the cycle to find and fix a problem has been dramatically shortened. We used to take a week to resolve issues, now we can turn a solution around in a day.” 

“We are using Spring.NET to differentiate our software in the market.”

~Mike Krolnik, CTO, Credit Market Analysis

READ THE COMPLETE CASE STUDY


[2009-6-1]
FEATURED BLOG:

Eric Lemes has written parts two and three of his blog serires covering declarative transaction management, ADO.NET data access, and web service exporters. (In Portuguese).

Check it out Part II and Part III!

[2009-4-8]
FEATURED BLOG:

Eric Lemes has written part one of a multi-part tutorial on dependency injection using Spring.NET in Portuguese.

Check it out here!

[2009-3-16]
ANNOUNCEMENT:

We are pleased to announce Spring Extensions; a new venture by SpringSource to encourage and support quality community contributed extensions to the Spring projects and programming model.

Spring Extensions hosts three .NET projects led by members of the Spring.NET community

Spring db40 for .NET

The purpose of this extension is to allow users of the popular db4o object database on the .NET platform to make use of Spring's powerful data access features, just like they can already do using ADO and NHibernate.

Lead: Dirk Lowers

Spring Integration for .NET

Spring Integration for .NET provides an extension of the Spring programming model to support the well-known Enterprise Integration Patterns while building on the Spring Framework's existing support for enterprise integration. It enables simple messaging within Spring-based applications and integrates with external systems via simple adapters. Those adapters provide a higher-level of abstraction over Spring's support for remoting, messaging, and scheduling. Spring Integration's primary goal is to provide a simple model for building enterprise integration solutions while maintaining the separation of concerns that is essential for producing maintainable, testable code.

The Spring Integration for .NET project will use the design and code base of the Spring Integration for Java project as a basis, adapting the code as need to support .NET idioms and move in the direction to take advantage of .NET only features such as Lambda expressions and extension methods.

Lead: Andreas Döhring


Spring Threading

This project is based on a .NET port of the JSR-166 Java library for concurrency. We're making every attempt the bring the library over as-is while making it easy to use for both .NET developers and Java developers coming to .NET.

Lead: Griffin Caprio

Thanks to each leads for their hard work.  Follow the links for additional project information.

[2009-1-20]
PODCAST:

A collection of podcasts hosted by SkillsMatter from Russ Miles, senior consultant for SpringSource in the UK, on Spring.NET can be found here
[2008-12-5]
ARTICLE:

SearchWinDevelopment.com has an article discussing the growing popularity of open-source Java frameworks finding there way into the .NET ecosystem, in particular Spring for .NET.

Read the article by Yuval Shavit here.

[2008-12-5]