|
Welcome to the home
of Spring.NET.
Led and sustained
by SpringSource,
a division of VMware,
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.
Commercial
support and training are available through SpringSource.
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]
|