spring.net (2) overview
Spring.NET consists of the following modules. Click on the module name for more information.
Spring.Core – Use this module to configure your application using Dependency Injection.
Spring.Aop – Use this module to perform Aspect-Oriented Programming (AOP). AOP centralizes common functionality that can then be declaratively applied across your application in a targeted manner. An aspect library provides predefined easy to use aspects for transactions, logging, performance monitoring, caching, method retry, and exception handling.
Spring.Data – Use this module to achieve greater efficiency and consistency in writing data access functionality in ADO.NET and to perform declarative transaction management.
Spring.Data.NHibernate – Use this module to integrate NHibernate with Spring’s declarative transaction management functionality allowing easy mixing of ADO.NET and NHibernate operations within the same transaction. NHibernate 1.0 users will benefit from ease of use APIs to perform data access operations.
Spring.Web – Use this module to raise the level of abstraction when writing ASP.NET web applications allowing you to effectively address common pain-points in ASP.NET such as data binding, validation, and ASP.NET page/control/module/provider configuration.
Spring.Web.Extensions – Use this module to easily expose a plain .NET object (PONO), that is one that doesn't have any attributes or special base classes, as a web service, configured via dependency injection, 'decorated' by applying AOP, and then exposed to client side java script.
Spring.Services – Use this module to adapt plain .NET objects so they can be used with a specific distributed communication technology, such as .NET Remoting, Enterprise Services, ASMX Web Services, and WCF services. These services can be configured via dependency injection and ‘decorated’ by applying AOP.
Spring.Testing.NUnit - Use this module to perform integration testing with NUnit.
Spring.Testing.Microsoft - Use this module to perform integration testing with Microsoft test framework (MSTEST).
Spring.Messaging - Use this module to increase your productivity creating Microsoft Message Queue (MSMQ) applications that adhere to architectural best practices
Spring.Messaging.Nms - Use this module to increase your productivity creating Apache ActiveMQ applications that adhere to architectural best practices.
Spring.Messaging.Ems - Use this module to increase your productivity creating TIBCO EMS applications that adhere to architectural best practices.
Spring.Scheduling.Quartz - Provides integration with the Quartz.NET job scheduler providing declarative configuration of Quartz jobs, schedulers, and triggers as well as several convenience classes to increase productivity when creating job scheduling applications.
Spring.Template.Velocity - Helper classes to configure a NVelocity template engine in a Spring based application.
Additional Functionality in Spring.Core
The Spring.Core module also includes the following additional features the you may find useful in their own right.
- Expression Language - provides efficient querying and manipulation of an object graphs at runtime.
- Validation Framework - a robust UI agnostic framework for creating complex validation rules for business objects either programmatically or declaratively.
- Data binding Framework - a UI agnostic framework for performing data binding.
- Dynamic Reflection - provides a high performance reflection API.
- Threading - provides additional concurrency abstractions such as Latch, Semaphore and Thread Local Storage.
- Resource abstraction - provides a common interface to treat the InputStream from a file and from a URL in a polymorphic and protocol-independent manner.