Welcome to the home of Spring.NET.
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.
ANNOUNCEMENT:
Dear Spring Community,
We are pleased to announce that the M2 (Milestone 2)
release of Spring .NET 2.0.0 is now available.
Download
| Community
This is a preview release designed to enable
early-adopters to evaluate and comment on features
and contains the following new features:
- Autowiring attribute for field
DI
Several fixed to the core container are also
included in this release
In addition to the direct download, this M2 release
has been made available as NuGet 'pre-release'
packages (see Spring.Core on NuGet as an
example).
Please provide feedback/input on this pre-release via
the Spring.NET
Forums.
[2012-12-11]
ANNOUNCEMENT:
Dear Spring Community,
We are pleased to announce that the M1 (Milestone 1)
release of Spring .NET 2.0.0 is now available.
Download
| Community
This is a preview release designed to enable
early-adopters to evaluate and comment on features
and contains the following new major features:
- Introduction of the API
leveraging .NET Generics
- Support for ASPNET MVC 4 (RC)
Integration for core DI capabilites (Including
WebAPI DI Support)
- Support for NHibernate 3.3 GA
release
- Support for Common.Logging
2.1.1
In addition to the direct download, this M1 release
has been made available as NuGet 'pre-release'
packages (see Spring.Core on NuGet as an
example).
Please note that in order to have 'pre-release'
packages appear in the NuGet Package Explorer in
Visual Studio, you need to change the drop-down
filter from 'stable only' to 'include pre-release'
as shown in the following screenshot (click for
Full-Size view):
Please provide feedback/input on this pre-release
via the Spring.NET
Forums.
[2012-06-26]
ANNOUNCEMENT:
Dear Spring Community,
We are pleased to announce that Spring.NET Social
1.0.0 (as well as adapters for the Dropbox API and the
Twitter API) is now available (and LinkedIn API
support is in progress!).
Spring Social is an extension of the Spring
Framework that helps you connect your applications
with Software-as-a-Service (SaaS) providers such as
Twitter, Facebook, Dropbox, and more! It offers an
extensible service provider framework (including
support for OAuth1 and OAuth2) that greatly
simplifies the process of connecting local user
accounts to hosted provider accounts.
Spring.NET Social supports the following runtime
environments:
- .NET 2.0
- .NET Client Profile 3.5 and 4.0
- Silverlight 4.0 and 5.0
- Windows Phone 7.0 and 7.1
Spring.NET Social Home Page
Spring.NET Social Twitter API Support Home
Page
Spring.NET Social Dropbox API Support
Home Page
Spring.NET Social LinkedIn API Support
(pre-release)
Home Page
Want to contribute? There's a rich universe of
Social platforms for which Spring.NET Social support
can be easily extended and we're actively looking
for community contributors interested in adding
projects to support Facebook, TripIt, GitHub, and
many more!
These projects are hosted at GitHub:
As always, we encourage feedback from the community on
this and all aspects of Spring.NET!
[2012-01-25]
ANNOUNCEMENT:
Dear Spring Community,
We are pleased to announce that Spring.NET REST Client
1.1.0 is now available.
Download | Support | Documentation | Community
In addition to several bug-fixes, the 1.1.0 release
of Spring.NET REST Client adds the following new
features:
- .NET 4 TPL (Task-Parallel
Library) Support
- Silverlight 5 support
- REST testing framework
This project is hosted at GitHub.
As always, we encourage feedback from the community on
this and all aspects of Spring.NET!
[2012-01-25]
ANNOUNCEMENT:
Dear Spring Community,
We are pleased to announce that Spring.NET REST Client
1.0.2 is now available.
Download | Support | Documentation | Community
Spring.NET REST Client is a lightweight library
(~60k-80k, depending on your target platform) that
has no direct dependency on the Spring.NET
Framework. It can be used either by itself in
isolation or in combination with the remainder of
the Spring.NET Framework to suit different usage
scenarios.
In addition to several bug-fixes, the 1.0.2 release
of Spring.NET REST Client adds the following:
- .NET Compact Framework 3.5
support
- Windows Phone 7.1 support
This project is hosted at GitHub.
As always, we encourage feedback from the community on
this and all aspects of Spring.NET!
[2011-11-11]
ANNOUNCEMENT:
Dear Spring Community,
We are pleased to announce that Spring .NET 1.3.2 is
now available.
Download
| Support
| Documentation
| Community
This release contains the following new major
features:
- Initial ASPNET MVC 3
Integration for core DI capabilites
- Native .NET 4 compilation
assemblies
- Support for NHibernate 3.2 GA
release
- Over 50 bug fixes and other
improvements
Please refer to the changelog
for additional details.
[2011-08-02]
ANNOUNCEMENT:
Dear Spring Community,
We are pleased to announce that the Spring.NET Visual
Studio 2010 Extension 1.0.1 is now available.
Download | Support | Documentation | Community
This release of the Spring.NET Visual Studio 2010
Extension improves Intellisense support by adding the
following capabilities for editing Spring XML
configuration files:
- Property name completion for
types in referenced libraries and projects
For a comprehensive list of project resources
including source code, forums, and more, see the
project SpringBoard page at http://springframework.net/vsaddin/
As always, we encourage feedback from the community on
this and all aspects of Spring.NET!
[2011-07-28]
ANNOUNCEMENT:
Dear Spring Community,
We are pleased to announce that Spring.NET CodeConfig
1.0.1 is now available.
Download | NuGet Package | Support | Documentation | Community
Note also that Spring.NET CodeConfig is also
available as a NuGet Package.
This release contains several minor bug-fixes as well
as the following major changes:
- Explicit support for .NET4
(with corresponding dependency on the .NET4
release of Spring.NET 1.3.1)
- Elimination of the option to
specify variable scan-paths for Assembly Scanning
This project is hosted at GitHub
and is the first step in the process of expanding
Spring.NET's support for non-XML-dependent
configuration scenarios.
As always, we encourage feedback from the community on
this and all aspects of Spring.NET!
[2011-04-27]
ANNOUNCEMENT:
Dear Spring Community,
We are pleased to announce that Spring.NET REST Client
1.0.0 is now available.
Download | Support | Documentation | Community
Spring.NET REST Client is a lightweight library
(~60k-80k, depending on your target platform) that
has no direct dependency on the Spring.NET
Framework. It can be used either by itself in
isolation or in combination with the remainder of
the Spring.NET Framework to suit different usage
scenarios.
The 1.0.0 release of Spring.NET REST Client
contains:
- A RestTemplate class for
client-side access to RESTful services
- A set of HTTP message
converters used to marshal objects into the HTTP
request body and to unmarshal any response back
into an object.
Spring.NET REST Client supports all of the
following .NET Runtime environments
- .NET 2.0
- .NET Client Profile 3.5 and 4.0
- Silverlight 3.0 and 4.0
- Windows Phone 7.0
This project is hosted at GitHub.
As always, we encourage feedback from the community on
this and all aspects of Spring.NET!
[2011-04-14]
ANNOUNCEMENT:
Dear Spring Community,
We are pleased to announce that the Spring.NET Visual
Studio 2010 Extension 1.0.0 is now available.
Download | Support | Documentation | Community
This release of the Spring.NET Visual Studio 2010
Extension provides Intellisense support in the
following areas for editing Spring XML configuration
files:
- Type completion
- Property name completion
- Constructor argument name
completion
- Property value completion for
property of type 'Type', 'Enum' and 'Boolean'
In addition, this release also provides for the
following enhancements to the Visual Studio 2010 XML
Editor experience:
- Snippets integration (inline or
by menu)
- Quickinfo tooltip for
properties and types
A brief screencast of this tool in action can be
watched here.
This project is hosted at GitHub.
As always, we encourage feedback from the community on
this and all aspects of Spring.NET!
[2011-04-06]
ANNOUNCEMENT:
Dear Spring Community,
We are pleased to announce that Spring.NET CodeConfig
1.0.0 is now available.
Download | NuGet Package | Support | Documentation | Community
Note also that Spring CodeConfig for .NET is also
available as a NuGet Package.
This release contains the following major features:
- Code-based configuration
similar to the @Configuration support in Spring
Java
- Declarative Assembly Scanning
to detect Configuration Classes
- Support for mixing and matching
Code-based and XML-based configuration metadata
- Extension Methods to support
Code-Based Configuration on existing Application
Contexts
- Bootstrapping the Context
configuration from either Code-First or XML-First
approaches
This project is hosted at GitHub
and is the first step in the process of expanding
Spring.NET's support for non-XML-dependent
configuration scenarios.
The next steps for this project include the
following:
- Definition of additional
elements such as Aspects and ValueResolvers
- Convention/Rule-based Object
Definitions, Registrations, Aspects, PointCuts,
and JoinPoints
- Fluent Object Definition API
As always, we encourage feedback from the community on
this and all aspects of Spring.NET!
[2011-04-05]
ANNOUNCEMENT:
Dear Spring Community,
We are pleased to announce that the initial basic
Spring.NET 1.3.1 packages are now available via the NuGet Package Management System.
The following Packages are now available:
We have also made the corresponding DEBUG builds of
these same packages available on NuGet as well. Since
NuGet does not inherently support (yet!) a single
package containing both RELEASE and DEBUG builds of a
single logical package, we are following the
convention of appending the RELEASE package name with
the ".Debug" suffix as follows:
This is merely the initial step in making all of
the Spring.NET Framework available in NuGet. Coming
soon will be packages for the following additional
higher-level components of the Spring.NET Framework
as well:
- Spring.Data
- Spring.Data.NHibernate
- Spring.Scheduling
- Spring.Messaging
- Spring.Web
- ...and more!
This packaging approach will permit users to
download and consume the components of the overall
Spring.NET Framework as they need them, increasing
the granularity of our distribution process for
those that wish to download the Spring.NET Framework
incrementally rather than all at once.
As always, the complete Spring.NET Framework
download(s) will continue to be made available
for those that prefer the more comprehensive
single-download of the complete release or aren't
ready to adopt NuGet as a package manager as of yet.
Please direct all feedback you have from your
experiences using these packages to the Spring.NET Community Forum.
We look forward to your feedback as we explore the
benefits of this new additional method of
distributing Spring.NET to the community.
[2011-04-05]
ANNOUNCEMENT:
Dear Spring Community,
We are pleased to announce that Spring .NET
1.3.1 is now available.
Download
| Support
| Documentation
| Community
This release contains the following new major
features:
- Namespace parser for WCF
integration
- Initial ASPNET MVC 2
Integration for core DI capabilites
- Support for DI using WCF's
WebServiceHostFactory
- Native .NET 4 compilation
assemblies
- Support for switching among
multiple databases at runtime when using
NHibernate
- Support for NHibernate 3.0 GA
release
- Upgrade of Quartz.NET support
to version 1.0.3
- Upgrade of Apache.NMS.ActiveMQ
support to version 1.4.1
- Over 100 bug fixes and other
improvements
Please refer to the changelog
for additional details.
As has been mentioned elsewhere, this will be the
final release of Spring.NET offering support for
.NET 1.x. Future releases of Spring.NET will target
only .NET 2.0 and later, enabling Spring.NET to more
aggressively take advantage of more of the recent
capabilities within the .NET platform.
Moving forward we will also be experimenting with
several ways to achieve a much more aggressive
release schedule in 2011 and beyond. One part of
this effort is targeting a quarterly release cycle
for Spring.NET. The goal is to provide
steadily-increasing value and capabilities to
Spring.NET adopters moving forward without
significant intervals between releases.
Another part of this effort involves moving
(temporarily) the planned Code-Based Configuration
support for Spring.NET into a project separate from
Spring.NET itself so that it can iterate and evolve
independently of the pace of the main Spring.NET
trunk.
This project is hosted at GitHub
and is expected to be released before the end of the
year (within the next two weeks) and provide
capabilities in line with the Java-based
"@Configuration" annotation-based configuration
capability.
After it's features have matured further, the
Code-Based Configuration functionality will be
folded back into the Spring.NET trunk and will again
release as a component of the main Spring.NET core
project.
Watch this site for an announcement and download
link once the Code-Based Configuration project is
released in next several weeks.
In the mean time, Happy Holidays!
[2010-12-14]
ANNOUNCEMENT:
Dear Spring Community,
We are pleased to announce that the first milestone
release of the Spring GemFire 1.0 project is now
available for both Java and .NET!
Downloads
| API
Docs | Reference
Documentation | Changelog
The Spring GemFire project aims to make it easier
to build Spring-powered highly scalable applications
using GemFire
as distributed data management platform.
To learn more about the project, visit the Spring GemFire Homepage. There
you will find links to the Reference Manual, Forum,
Issue Tracker, and more.
The features in 1.0.0 M1 for .NET include
- Spring
FactoryObjects to enable dependency
injection style configuration of GemFire
infrastructure classes such as Cache, Region,
Interests, etc.
- Exception
translation to Spring's portable Data Access
exception hierarchy for GemFire
exceptions.
- Console based 'shell' sample
application to allow for ad-hoc interaction
with the data grid.
Note the Java version has additional features.
The feature set for Spring GemFire for .NET M2
is on the issue tracker.
Looking forward to your feedback on the forum
or in the issue
tracker.
[2010-8-3]
ANNOUNCEMENT:
Dear Spring Community,
We are pleased to announce that the first milestone
release of the Spring AMQP 1.0 project is now
available for both Java and .NET!
Download it now: Spring AMQP
for Java | Spring AMQP
for .NET
The Spring AMQP project aims to simplify the
development of AMQP based applications with a POCO
centric programming model. It also aims to
provide portability across AMQP implementations such
as RabbitMQ and Apache Qpid.
If you are familiar with Spring's existing messaging
support for ActiveMQ, MSMQ, or TIBCO EMS Spring AMQP
should be easy to pick up.
To learn more about the project, visit the Spring AMQP Homepage. There you
will find links to the Reference Manual, Forum, Issue
Tracker, and more.
The features in 1.0.0 M1 include
- An AMQP implementation agnostic Message API for
use across multiple implementations (RabbitMQ and
Qpid)
- A POCO based programming model promoted
through the use of MessageConverters and POCO
based message handlers.
- AmqpTemplate - with specific vendor subclasses -
to simplify synchronous publishing and consuming
of messages.
- A MessageListenerContainer for asynchronous
multilthreaded message consumption.
- A ConnectionFactory abstraction manages a single
connection to the broker and an experimental
implementation that supports a cache of Channels
- JSON MessageConverter
- Administration API that mirrors
functionality in rabbitmqctl.
- ErlangTemplate - to facilitate easy calling of
Erlang functions from .NET
- Two example applications
- Reference and API documentation
Apache Qpid support is minimal in M1 and was used to
vet the Messaging abstractions.
Looking forward to your feedback on the forum
or in the issue
tracker.
[2010-7-16]
UPCOMING NEW RELEASES: With
SpringSource's aquisition of Gemstone
and Rabbit
Technologies we have started open source
projects to provide integration of data grid
and AMQP messaging functionality with Spring.NET.
If you would like to participate in the development of
these open-source projects, please reach
out. Note, the range of products to
integrate is not limited to Gemstone/RabbitMQ.
The Spring AMQP project aims to provide portability
across AMQP specifications and vendor implementations
such as RabbitMQ and QPid.
If you are familiar with Spring.NET's support for
ActiveMQ, MSMQ, or TIBCO EMS you should feel right at
home.
Features include
- A POCO based programming model promoted
through the use of MessageConverters and POCO
based message handlers.
- AmqpTemplate - with specific vendor subclasses -
to simplify synchronous publishing and consuming
of messages.
- A MessageListenerContainer for asynchronous
multilthreaded message consumption.
- Low level resource management of
connections/channels and integration with Spring's
declarative tranasaction management are also
provided.
- Management API for the RabbitMQ broker to
programmatically create, update, delete, and query
broker configuration and information such
as exchanges, queues, users, vhosts, data
rates, etc.
The planned release
date of Spring AMQP Milestone 1 is July 9th.
You
can
view the code in the repostory here.
We will be moving to GIT shortly.
More news to come on Spring.NET integration with
Gemstone products such as Gemfire
and SQLFabric.
[2010-6-24]
USER GROUP:
Mathias
Kluba,
Florent DuguГ© & David Coppet spoke at
the French
Spring
User Group about Spring.NET.
Slides and information are available
here
(in French).
[2010-6-22]
CODE CAMP: Milan Negovan
spoke at the NYC
Code
Camp on Real-World Inversion of Control and
Dependency Injection with WebForms. Slides
available here.
[2010-3-6]
PODCAST:
The Connected Show #24, Peter Laudati interviews Mark
Pollack to discuss Spring.NET, Dependency Injection,
Aspect-Oriented Programming and more.
[2010-2-10]
INTERVIEW:
InfoQ's Ryan Slobojan interviews Mark Pollack
on Spring.NET 1.3 and future directions for the
framework.
[2010-2-11]
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.
[2010-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]
|